2006年06月29日
2006年06月09日
MT3.3b1 - タグ検索結果のURLをシンプルに
これまでmt-xsearch + Tagwireでタグの動的検索を実現していたのですが、MT3.3b1では標準のmt-search.cgiがタグ検索をサポートしているようです。
クエリストリングスは以下でした。
http://yourhost/mt/mt-search.cgi?tag=foo&blog_id=1
このタグ検索結果URLを
http://myhost/tag/foo
に変えるには、blogのルート(この場合http://myhost/直下)に.htaccessを設置します。
内容は以下で多分。(blog_idは確認して正しいものに直す)
RewriteEngine on
RewriteRule ^tag/(.*)$ http://myhost/mt/mt-search.cgi?blog_id=1&tag=$1 [P,L]
テンプレート側は以下のように書き換えればいいんじゃないかと思います。
<a href="<$MTBlogURL$>tag/<$MTTagName encode_url="1">"><$MTTagName></a>
あとどうやらmt-searchのデフォルトは大文字小文字を区別しないようです。標準のTagging機能は大文字小文字を区別しているので、ちょっと注意が必要かもしれません。
※2006/07/01追記
Tagが「Movable Type」など半角スペースを含む場合に、上記やり方だとサーバエラーができます。
以前にこちらのエントリーで紹介した現象と全く同じで、解決方法も同じなんだろうけど、TagwireをOFFにしてしまっているので、encode_url_plusをなんとかしなければいけないです。
とりあえず、Ogawa::Memorandaさんが公開している、TagSupplementals Pluginの37行目あたりに
MT::Template::Context->add_global_filter('encode_urlplus' => \&encode_urlplus);
最後の1;の前くらいに
sub encode_urlplus {
my $s = $_[0];
return $s unless $_[1];
require MT::Util;
$s =~ tr/ /+/;
MT::Util::encode_url($s);
}
を追加してアップすれば、encode_url_plusが使えます。
この場合テンプレート側は以下のように書き換えます。
<a href="<$MTBlogURL$>tag/<$MTTagName encode_urlplus="1">"><$MTTagName></a>
MT3.3ベータ1試す
先日よりMovable Typeの3.3ベータテストが始まりました。
すでにOgawa::Memorandaさんや小粋空間さんで大方の変更点があげられています。
特に気を引くのはやはりTagging機能でしょうか。
この辺りの評価はまだ使い込んでいないので出来ませんが、とりあえず入力支援はすばらしい!

あと一点気が付いた修正で大きいなと思ったのが、カテゴリーのパス名を自由に決めれるようになったこと。
メニューのカテゴリーから詳細をみると、以下のようにファイル名(パス名)入力フィールドが追加されています。

相変わらずカテゴリーの順番を明示的にする機能はないけど、にしても、ちょっとこれはうれしいです。
最後に最も気になるのはやっぱりBigPAPIが使えなくなりそう(未確認)ってことかなぁ。。
RightFields他、一気にいろんなPluginが使えなくなってしまうので、作者の対応が早いといいんだけどなーと思います。