Movable Type 3.3以降でサポートされた「タグ」に便利機能を追加・拡張するTagSupplementals Plugin(Ogawa::Buzz: TagSupplementals Plugin公開)を例によってちょびっとアップデートしました。
機能上の変更点は、MTArchiveTagsというコンテナタグを追加して、カテゴリーアーカイブや月別アーカイブなどで、当該アーカイブのエントリーのタグのみをリストできるようにした、という点です。
カテゴリーアーカイブや月別アーカイブのテンプレートで以下のように記述すると、そのアーカイブに含まれるエントリーの持つタグのみをリストしてくれます。
<ul class="archive-tags-list"> <MTArchiveTags> <li><a href="<$MTTagSearchLink$>" rel="tag"><$MTTagName$></a></li> </MTArchiveTags> </ul>
あとはMovable Type 3.3以降では、MT::Pluginにコンテナタグや変数タグ、グローバルフィルターを追加するためのインタフェースが追加されていた(Movable Type オブジェクト・リファレンス - MT::Plugin)のに今更気が付いたので、それを使って少し書き直してみました。
どういうことかというと、3.2以前ではコンテナタグなどを一個追加するたびに
MT::Template::Context->add_container_tag(AContainer => \&hdlr_a_container);
と書かなくてはなりませんでしたが、3.3ではMT::Pluginオブジェクトをnewするときに簡単に宣言を加えるだけで済みます。
package MyPlugin;
use base qw(MT::Plugin);
my $plugin = MyPlugin->new({
name => 'MyPlugin',
...,
template_tags => {
ATemplate => \&hdlr_a_template,
BTemplate => \&hdlr_b_template,
},
container_tags => {
AContainer => \&hdlr_a_container,
BContainer => \&hdlr_b_container,
},
global_filters => {
AFilter => \&hdlr_a_filter,
},
});
MT->add_plugin($plugin);
これ使うと下位互換性がなくなっちゃうわけですけどね。
他にもこんな機能があったらなという希望があったらコメント・トラックバックでお知らせください。簡単に実現できる機能から順に気まぐれに更新していきます。
TagSupplementals - ogawa - 「タグ」機能を追加・拡張するプラグイン。 - Google Code
0 コメント:
コメントを投稿