TopMovable Typeカスタマイズ検索 > 2012年7月
2012年7月23日

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.価格

MT5.x版:3000円/1インストールMT(税抜き)

購入前に評価版で必ず動作確認してください。確認後、上記の購入ボタンより入金いただければ、製品版を別途メールでお送りします。銀行振り込みを希望される方はお問い合わせのページよりご連絡ください(お振込み手数料はご負担願います)。

4.評価版プラグインのインストール

下記のリンクをクリックして、評価版のプラグインアーカイブをダウンロードします。

SearchConditionAppender_0_01.zip

プラグインアーカイブを展開し、中にある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項の修正を行わないと、検索結果のページに、検索文字列に追加した検索条件がくっついた形で表示されてしまいます。

設定が完了したらすべてのページを再構築して、動作を確認してください。

Comments [0] | Trackbacks [0]
2012年7月21日

Movable Typeの検索オプション徹底解説

July 21,2012 1:55 AM
Tag:[, ]
Permalink

Movable Typeの検索オプションについて、あまり知られていないようなので、本エントリーで解説します。

1.フレーズ検索

検索文字列をダブルクォーテーションで括れば、Google検索のようなフレーズ検索を行えます。例えば「Movable Typeにマッチする記事」を検索したい場合、検索フォームに、

"Movable Type"

と入力します。

2.論理検索

以下の論理検索が行えます。

OR検索

文字列をOR条件で検索します。例えば「AまたはBにマッチする記事」を検索したい場合、検索フォームに、

A OR B

と入力します。

AND検索

文字列をAND条件で検索します。例えば「AとBにマッチする記事」を検索したい場合、検索フォームに、

A AND B

と入力します。

NOT検索

文字列をNOT条件で検索します。例えば「Bを除いたAにマッチする記事」を検索したい場合、検索フォームに、

A NOT B

と入力します。

論理検索は組み合わせて利用することも可能です。

3.カテゴリ検索

指定したカテゴリで検索します。例えば、「カテゴリBの中でAにマッチする記事」で検索したい場合、検索フォームに、

A category:B

と入力します。

4.出典

本エントリーの内容は「Movable Type 5 プロフェッショナルガイド」から抜粋しています。

Movable Type 5 プロフェッショナルガイド
荒木勇次郎
毎日コミュニケーションズ

検索のより詳しい内容については、本書籍のChapter17「検索」をご覧ください。

Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3