Movable Typeに検索フォームに任意の検索条件をつける「SearchConditionAppenderプラグイン」
Movable Typeの検索フォームに任意の検索条件をつける「SearchConditionAppenderプラグイン」を公開します。
1.基本
「Movable Typeの検索オプション徹底解説」で紹介したとおり、MTの検索にはいろいろな検索条件を指定することができます。
文字列AをカテゴリBでフィルタリングしたい場合は、検索フォームに次のように入力します。
A category:B
さらに、検索フォームに次のようなinput要素を追加しておけば、検索する人がカテゴリAを意識せずに検索させることもできます。
<input type="hidden" name="category" value="A" />
特定のカテゴリAを除いて文字列B検索したい場合には、次の指定で可能です。
A NOT category:B
が、この場合、上記のinput要素で設定することができないようです(もしかしたらできる方法があるかもしれませんがみつけられませんでした)。
2.プラグインの機能
「SearchConditionAppenderプラグイン」を利用すれば、ユーザーが意識せずに特定のカテゴリを除いた検索を行えるようになります。
もちろん上記以外の検索条件を指定することも可能です。
3.価格
3300円/1インストールMT(税込み)
購入前に評価版で必ず動作確認してください。確認後、上記の購入ボタンより入金いただければ、製品版を別途メールでお送りします。銀行振り込みを希望される方はお問い合わせのページよりご連絡ください(お振込み手数料はご負担願います)。
4.評価版プラグインのインストール
下記のリンクをクリックして、評価版のプラグインアーカイブをダウンロードします。
プラグインアーカイブを展開し、中にあるSearchConditionAppenderフォルダごと、Movable Type のアプリケーションディレクトリのpluginsディレクトリにアップロードします。
システム管理画面のプラグイン設定画面で、「SearchConditionAppender~」が表示されればインストール完了です。
評価版は30日無償でご利用になれます。残り日数はシステム管理画面のプラグイン設定画面より確認できます。
5.プラグインの設定
プラグインを適用したいブログ管理画面の「ツール」→「プラグイン」→「SearchConditionAppender~」→「設定」で、検索条件を設定します。
設定した検索条件は検索フォームに入力した末尾に追加して検索条件となります。
たとえば、カテゴリBを検索対象から除外したい場合は、
NOT category:B
と設定します。
これで実際の検索では、
検索文字列 NOT category:B
という条件で、カテゴリBが除外した形で検索が実行されます。
6.「検索」ウィジェットテンプレートの修正
「検索」ウィジェットテンプレートについて、下記の3ヶ所を修正してください。
まず、input要素の送信ボタンに、id属性「exec_search」を追加します。
…前略…
<input type="hidden" name="limit" value="<$mt:SearchMaxResults$>" />
<input id="exec_search" type="submit" accesskey="4" value="検索" />
</form>
</div>
</div>
…後略…
次に、テキストフィールド用のinput要素をMTSearchConditionInputThunkタグに置き換えます。
変更前
<div class="widget-search widget">
<h3 class="widget-header">検索</h3>
<div class="widget-content">
<form method="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
<input type="text" id="search" class="ti" name="search" value="<$mt:SearchString$>" />
<mt:If name="search_results">
<input type="hidden" name="IncludeBlogs" value="<$mt:SearchIncludeBlogs$>" />
…後略…
変更前
<div class="widget-search widget">
<h3 class="widget-header">検索</h3>
<div class="widget-content">
<form method="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
<$mt:SearchConditionScriptThunk$>
<mt:If name="search_results">
<input type="hidden" name="IncludeBlogs" value="<$mt:SearchIncludeBlogs$>" />
…後略…
最後に、ウィジェットの一番下にMTSearchConditionScriptThunkタグを追加します。
…前略…
</mt:Tags>
</ul>
</div>
</div>
</mt:IfTagSearch>
</mt:If>
<$mt:SearchConditionScriptThunk$>
7.「検索結果」システムテンプレートの修正
「検索結果」システムテンプレートのMTSearchStringタグの代わりに、本プラグインで提供するMTSearchStringWithoutConditionタグを設定します。
…前略…
<mt:IfStraightSearch>
「<$mt:SearchString$>」と一致するもの
</mt:IfStraightSearch>
…後略…
…前略…
<mt:IfStraightSearch>
「<$mt:SearchStringWithoutCondition$>」と一致するもの
</mt:IfStraightSearch>
…後略…
タグ検索以外のMTSearchStringタグはすべて変更してください(よく分か羅内場合はすべて変更しても問題ありません)。
7項の修正を行わないと、検索結果のページに、検索文字列に追加した検索条件がくっついた形で表示されてしまいます。
設定が完了したらすべてのページを再構築して、動作を確認してください。
- Movable Typeで特定のブログを検索対象外にする「SearchDisablerプラグイン」
- Movable Typeのテキスト検索を部分一致から完全一致に変更する方法