Trac : ISearchSourceの使い方
Tracプラグインで簡単な独自の検索用プラグインを作るときは、
ISearchSourceをインプリメントすると簡単です。
http://weekbuild.sakura.ne.jp/trac/を参考にさせて頂きました。
使い方は、
1. ISearchSource をインプリメントする
2. get_search_filters をオーバーライドして、検索条件を追加する
3. get_search_results をオーバーライドして、検索処理を作成する
独自の検索結果画面と条件入力にこだわらなければ、とてもおすすめです。
サンプルコード
# -*- coding: utf-8 -*- from trac.core import * from trac.search.api import ISearchSource class FulltextSearchPlugin(Component): implements(ISearchSource) # ISearchProvider methods def get_search_filters(self, req): yield ('Test', u'テスト') def get_search_results(self, req, query, filters): url = 'test' title = 'title' date = None author = 'test-man' detail = '' yield(url,title,date,author,detail)
画面と実行結果
trac_plugin posted by (C)kuma8
現在のポスト数 34 / 100