ホームページ制作のアレ

Website Design tips array.

MTの検索結果の対象にカスタムフィールドを含める

2010/04/08
自分の覚書用に、久々の投稿。 今やっている案件でMTをいじっていて気付いたのですが、MTの検索結果の対象は、かなり狭い範囲しか対象にしていません。 てっきり全文検索かと思っていました。。。 基本的に、弊社がMTを推す場合は、カスタムフィールドが使えるから、というのが唯一最大な理由ですので、 これではまずいなーと思い、ちょっと調べてみました。 方法はこちら。 http://tec.toi-planning.net/mt/customfieldssearch/about/ こちらのプラグインを導入します。 現在取り組んでいるシステムはMT5ですが、無事に動作しております。
<form method="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
<input type="hidden" id="select" name="limit" value="<$mt:SearchMaxResults$>" />
<input type="hidden" name="CustomFieldsSearch" value="1" />
<input type="hidden" name="CustomFieldsSearchClassType" value="entry" />
<input type="hidden" name="CustomFieldsSearchField" value="カスタムフィールド名" />
<select name="category">
<option value="0">カテゴリ選択</option>
<MTTopLevelCategories>
<MTSubCatIsFirst></MTSubCatIsFirst><MTIfNonZero tag="MTCategoryCount">
<option value="<mt:categorylabel>"><$MTCategoryLabel$> [<$MTCategoryCount$>]</option>
</MTIfNonZero><MTSubCatsRecurse><MTSubCatIsLast></MTSubCatIsLast>
</MTTopLevelCategories>
</select>
<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$>" />
<mt:Ignore>
<!-- use these options only with MT::App::Search::Legacy -->
<ul class="search-options">
<li><input type="checkbox" name="CaseSearch" /> 大文字/小文字を区別する</li>
<li><input type="checkbox" name="RegexSearch" /> 正規表現</li>
</ul>
</mt:Ignore>
<mt:Else>
<input type="hidden" name="IncludeBlogs" value="<$mt:BlogID$>" />
</mt:If>
<input type="hidden" name="limit" value="<$mt:SearchMaxResults$>" />
<input type="submit" accesskey="4" value="検索" />
</form>
こんな感じです。