:: Agnist in hatena ::

このページをブックマーク このページをアンテナに追加 このサイトをはてなRSSに追加
当サイトは独自ドメインのブログ「Agnist」で以後更新を行います。
ソチラもヨロシクお願いいたします。

2008/10/15

[] MTノウハウ:MTTaginvoke不要論

※しょっぱなから追記
MTTaginvokeってそもそもMT4で使えなかったという前提を忘れていました(キャー恥ずかしいっ!)。しかしながら紹介している手法そのものは有用(なはず)ですので残しておきます。

「MTTaginvoke」絡みの検索ワードでいくつかアクセスがあったので書いておこうと思います。

一言で言うと、MT4以降からはMTTaginvokeは不要と言って良いです。(確認してないだけでMT3でも行けるかも知れませんが…)

MTTaginvokeの使われるケースとして「あるカテゴリーそのカテゴリーのみのエントリー一覧を出したい」といった場合に使われることが多々あります。

<MTEntries>のcategory属性には<MTCategoryLabel>といったMTタグを直接指定できないからですね。

手法

先日紹介した自分なりのノウハウの手法で、全テンプレート共通形式の変数「ctLabel」にカテゴリー名を取得しておきます。

その変数を利用し、下記のように記述します。

<MTEntries category="$ctLabel">

普通に「category="ctLabel"」と書いた場合、カテゴリーラベルが「ctLabel」のものを絞り込みますが、「$ctLabel」と頭に「$」を入れた形で記述することで、「変数ctLabelの中身」を参照することになります。

そのため、例えば「ctLabel」の中身が「新着カテゴリー」と存在するカテゴリー名の場合は、「新着カテゴリー」のエントリー一覧を取得できるということです。

MTTaginvokeを利用した入れ子構造による長〜い記述は一切いりません。

まとめ

用途の近いMTの値をあらかじめ共通の変数に取得しておけば、MTタグのあらゆる属性値で「$」を用いて呼び出せてハッピーラッキーということです。

「あらゆる」と書いたけど、出来そうな気がするだけで試したワケじゃないんですけどねッ!


MTEntriesでもってカテゴリごとにエントリーを動的に絞る方式を探すとMTTaginvokeに行き着くことが多々ありますが、ほとんどがMT3の頃の古い情報であって、この手法は今や古いと断言できます。上記手法もMTのアップデート次第ですぐ古くなってしまうと思います。

Web系の資料ではこうした古い資料がいつまでも残っていますが、効率化を考えて新しい手法を自分で模索するのも楽しいですよ。

たつやたつや 2009/06/16 22:44 助かりました。ありがとうございます。

KaBuKiKaBuKi 2009/06/17 18:51 >たつやさん
ムホッ。なにやらお役に立ちましたようで幸いでっす!

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証