エントリーの中でMTタグを使う
MTタグはテンプレートでの使用が前提となっており、エントリーの内容ではを使うことができません。例えば他のエントリーアーカイブページへのリンクや、画像を貼り付けてURLを記述する場合、メインページのテンプレートや各アーカイブテンプレートには、下記リストのように、
エントリーアーカイブページへのリンク
<a href="<$MTLink entry_id="678"$>">
画像のURL
<img src="<$MTBlogURL$>images/hogehoge.gif" alt="hogehoge" />
とMTタグを使った記述が可能ですが、エントリーの内容には、
エントリーアーカイブページへのリンク
<a href="http://www.koikikukan.com/archives/2005/10/24-011007.php">
画像のURL
<img src="http://www.koikikukan.com/images/hogehoge.gif" alt="hogehoge" />
と、URLを直接書かなければなりません。
もしエントリーにMTタグを直接書くことができれば、エントリーアーカイブのPHP化を行った場合にファイル名を修正する必要がありませんし、ドメインを変更した場合もエントリーに書いたURLを修正する必要がなくなり、大変便利です。
ということで、エントリー内でMTタグが利用可能になるプラグインをご紹介します。
プラグイン配布元は下記です。
Life on the Kernel:MT::Plugin::EvalTemplate
以下、設定方法です。
2009.08.11 追記:MT4.1 から mteval モディファイアが標準機能として搭載されました。
1.プラグインのダウンロードおよびアップロード
配布元にある EvalTemplate のリンクをクリックしてダウンロードします。eval-template.txt というファイルがダウンロードされますので、ファイル名を eval-template.pl に変更し、それを plugins ディレクトリ直下にアップロードします。
2.テンプレート修正
テンプレートに記述されている MTEntryBody または MTEntryMore タグに eval 属性を付与します。本文でMTタグを使いたい場合は、MTEntryBody タグを探して
<$MTEntryBody eval="1"$>
と青色部分を追加するだけです。追記で利用したい場合は、MTEntryMore タグを
<$MTEntryMore eval="1"$>
に変更します。
これで「保存」をクリックし、テンプレートを保存します。これでエントリー編集画面に冒頭に挙げたようなMTタグを書き込んでみましょう。エントリーの保存・再構築後に記述したMTタグ、例えば <$MTBlogURL$> と書いたのであれば、URLに変換されていれば成功です。
ここではエントリー本文と追記のみについて書きましたが、このプラグインは Global Filter なので他のMTタグにも適用できるようです。ただし配布元で
間違っても Comments や Trackback で有効にしないように気を付けよう。
という注意書きがあります。例えば MTCommentBody でこの機能を有効にすると、投稿内容にMTタグを記述されるととんでもないことになる、という意味だと思いますので気をつけましょう。
2005.12.08
ダウンロードのファイル名を修正しました。
2006.11.21
配布元のリンクを修正しました。
