Movable Type 備忘録

 

 EntryCategory プラグイン

こんばんわ^^

小粋空間さんとこで、デフォルトの MTEntryCategory ファンクションタグをブロックタグとして利用できるプラグインが公開されてました。

どういうことかというと、元々の MTEntryCategory タグはエントリに関連付けられた、プライマリカテゴリ名称を取得するためだけのタグでした。
それをブロックタグとして利用することで、カテゴリ名称だけでなく、URL や カテゴリ ID などカテゴリに関連するタグも使えるようになるわけですね ( ̄∇ ̄)b

たとえば、プラグインを使用せずプライマリカテゴリの URL、カテゴリ名称を取得しようとしたら以下のようになります。

<MTEntryCategories>
    <mt:setvarblock name="cat_link"><$MTCategoryArchiveLink$></mt:setvarblock>
    <mt:setvarblock name="cat_name"><$MTCategoryLabel$></mt:setvarblock>
</MTEntryCategories>
<a href="<mt:getvar name="cat_link" index="0">"><mt:getvar name="cat_name" index="0"></a>

まず、赤字の部分でエントリに関連付けられたすべてのカテゴリ名称とその URL をピックアップします。
そして青字、緑字のように上記でピックアップしたリスト(配列)のインデックス 0 番目のデータを取得することで実現可能です。

それが以下のようなタグで済みます。

<MTEntries>
    <MTEntryCategory>
        <a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
    </MTEntryCategory>
</MTEntries>

カンタンですね ( ̄∇ ̄)b
ただし、気をつけることはデフォルトの MTEntryCategory と同一タグ名称なので、既に使用中の場合はテンプレートを書き換える必要があります。

わたしのサイト(配布してるテンプレート含む)では、エントリにカテゴリが関連付けされてるか否かを判断するために MTEntryCategory タグを利用しているため、残念ですがプラグインのインストールは見合わせました。
ですので、ちゃんとご自分のテンプレートを確認してから利用した方がよいですよ。

このプラグインはデフォルトタグとして取り込んで欲しいですね ( ̄∇ ̄)

 Trackback Pings(0)

No trackbacks found.

 Comments(2)

#1: Posted by yujiro [RES]

こんばんは。
ご紹介ありがとうございました。

ちなみに、プラグインのファイル名と、それにあわせて「EntryCategory」という文字を3ヶ所(下記)、「EntryPrimaryCategory」などに書き変えれば、多分併用できます。

  :
 (略)
  :
package MT::Plugin::EntryCategory;
  :
 (略)
  :
my $plugin = MT::Plugin::EntryCategory->new ({
  :
 (略)
  :
$r->{EntryCategory} = \&_hdlr_entry_category;
  :
 (略)
  :


#2: Posted by bzbell Author Profile Page [RES]

>>1 yujiro さん

こんばんわ^^

先日の MT4LP5 はご苦労様でしたワクワク
わたしは参加できなかったけど大盛況に終わったようで何よりですテレテレ

> ちなみに、プラグインのファイル名と、それにあわせて「EntryCategory」という文字を3ヶ所(下記)、「EntryPrimaryCategory」などに書き変えれば、多分併用できます。

ありがとうございますぅにこっ!
yujiro さんがおっしゃる方法で実は使ってたりしてますあせあせ

たぶん yujiro さんがあえてタグ名を別名にしなかったのも MTEntryCategory タグの機能を差し替えたかったのだと、勝手に解釈したのでタグ名称変更については触れませんでした。

でも嬉しいですうぅ~ん
ありがとうございましたもじもじ

 Post a Comment

コメント用フィード