少し前に、MT4.2(旧4.15)でのカテゴリ検索について書いてみましたが、モヤモヤした問題点が残っていたので、改めて考えてみました。
前回はこちら。
■MT4.2(旧4.15)ではカテゴリ検索が備わってるの・・・かな?|Materializing
- widget内でなんでcategoriesタグが動かないのかな?
- タグ・ソースを短くしたいなー
とかそんなモヤモヤしたところ。
ほぼ個人的な環境で発生した事なんだけど、MT4.2で同じところに興味持ってるヒトには、ふたつの記事を併せて眺めて欲しいなぁ・・・って感じです(´・ω・)
これは復習で記録
検索機能で大幅に変化が出来てるところ。
■MT4.15 で強化されたブログ内検索を活用する様々な検索構文 | MovableType.jp
カテゴリ検索を備えるタグの書き直し
先ずはtoplevelcategoriesを利用してたところを書き直し。
<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$>" />
<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$>" />
<select name="category">
<option value="0">全カテゴリーを検索</option>
<mt:categories show_empty="0">
<option value="<mt:categorylabel>"><$MTCategoryLabel$> [<$MTCategoryCount$>]</option>
</mt:categories>
</select>
<input type="submit" accesskey="4" value="検索" />
</form>
</div>
</div>
もう一度カテゴリ周りもMTタグをマニュアルで確認して、再度書き直して試してみたらサブカテゴリも出て来て良かったので。
categoriesタグがありましたね。
以前のでは再帰まで入ってゴチャゴチャしてたので、こっちならスッキリです。
他にも、たぶんMTタグの書き方でちょっと間違ってたから意図しない動きになってたりだったのでしょうきっと。気をつけなきゃ。
show_emptyは「0」と「1」で記事の有無判定ですね。これまた復習。
じゃ、なんでゴチャゴチャするtoplevelcategoriesを使ってたのか?っていうと、カテゴリの並び替えを行うプラグインを入れてたため。
(けしてこれが悪いって意味じゃなくって。)
■カテゴリーとフォルダを並べ替えるプラグイン(MT4以降用) - The blog of H.Fujimoto
このプラグイン、mt:categoriesタグでは並べ替えは機能しません。
なので、toplevelcategoriesが頭に張り付いてました。
画像は、左側がtoplevelcategoriesと並び替えを用いてる場合で、右側はcategoriesで書き出した場合。
このサイトの例ですけど。
カテゴリの並び替えを気にしなかったり、他の方法でcategoriesを用いて並び替えしてる場合なんかは気にせずcategoriesを使うと良いと思います。
カテゴリ検索のおまけ情報
カテゴリに絞り込んだ検索を行いたい時には、Fastsearchプラグインというのがあります。
■小粋空間: Fast Search でカテゴリーの絞込み検索をする
こちらも併せて見てみると、プルダウンでの書き方とか勉強になります。
その他検索についての情報
今回のカテゴリ検索という趣旨からは反れますが、他にも検索について面白い情報があります。
■Hyper Estraierの「文書ドラフト」をMTから生成して検索する。 (Junnama Online (Mirror))
■mt-search.cgiの代替プログラム。 (Junnama Online (Mirror))
■今日のMovable Type:Ajaxを利用したMT用超高速検索システムはスゴすぎる!: 世界中の1%の人々へ
特に、Junnamaさんのサイトの「条件指定検索」は最高なので、ぜひ行って検索して欲しいです。
って書くとちょっとアレですね(;´∀`)
負荷のないように試しに検索してみると良いかと。
あとがき
MTの検索について考えてみるのは面白いんです。