Sep 26, 2006

TagSupplementals Plugin 0.05公開

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

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com