MovableTypeのタグマニュアルを見ていたら、「使えるタグ」が意外と存在することを知りました。今回はその中の1つ、MTLinkタグについてご紹介します。
MTLinkタグは以下の属性があります。

  1. template
  2. entry_id

これらの属性を付加することにより、「テンプレート」または「指定エントリー」のURLを自動的に生成してくれるというものなのです。それぞれアンカータグ内で使用する場合を例として挙げてみると・・・

  1. 指定したテンプレートへのリンク
    <a href="<$MTLink template="テンプレート名"$>">リンク文字列</a> 「テンプレート名」にはテンプレート編集画面で設定した名前を設定します。
  2. 特定のエントリーへのリンク
    <a href="<$MTLink entry_id="エントリーID"$>">リンク文字列</a> 「エントリーID」にはURLを生成したいエントリーのIDを設定します。

メリットとしては、例えばエントリー内で過去の記事にリンクを貼る場合、このタグを使うことによりエントリーのURLを変更しても影響が出ない点です。サーバーを変更してドメインが変わったり、またはhtmlからphp化してファイル拡張子が変わったり、エントリーファイルの命名方法自体を変更したり、などなど。どこかしらアドレスが変わってしまっても、このタグを使用していれば直接エントリー内のアドレスを変えずに、再構築の処理のみで済んでしまうので、非常に便利だと思います。

と、ここまで説明しておいて・・・実はMovableTypeではエントリー内でMTタグが使用できないのです。だから通常の使用方法では、上記メリットが何も得られないのです。そこで登場するのがプラグインです。

エントリー内においてMTタグを使用可能にできるプラグイン
(正確にはテンプレート以外でMTタグが使用可能にできるプラグイン)

「MT::Plugin::EvalTemplate」 by Life on the Kernel

設定方法

  1. 上記サイトよりファイルをダウンロード
  2. ダウンロードファイル「eval-template.txt」を「eval-template.pl」へリネーム
  3. MovableTypeのpluginsディレクトリにファイルをアップロード
    (プラグイン側の設定はここまで。画面からの設定は不要です。)
  4. MTタグを使用したい所に属性「eval="1"」を加える
    → この属性を加えるはテンプレートファイル内のMTタグです。

以上の方法で、「MTLink」タグがテンプレート以外で使用可能になります。4について具体的な値の設定方法は以下の通り。

エントリー内タグを使用したい場合エントリー追記部内で使用したい場合
追加前<$MTEntryBody$><$MTEntryMore$>
追加後<$MTEntryBody eval="1"$><$MTEntryMore eval="1"$>

尚、リンク先のサイトでも注意しているように、どんなテンプレートタグにも使える反面、悪用される危険を伴うため、コメントやトラックバックのテンプレートに対し有効にしないように気をつけましょう。内部で閉じているってことが、セキュリティー面では大切なんですね (*^ー゚)b

コメント入力フォーム

About

Name : NJ
age : 28くらい
技術メモなどなど。個人的な備忘録ではありますが、情報として役に立てたら何よりです。難しい事はよくわかりません。
お便りはこちらまで。