Movable Type 指定エントリーへのURL自動生成とエントリー内でMTタグを使用する方法

2006/10/02

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

  • template
  • entry_id

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

MTLink タグの使用例

指定したテンプレートへのリンク

<a href="<$MTLink template="テンプレート名"$>">リンク文字列</a>

「テンプレート名」にはテンプレート編集画面で設定した名前を設定します。

特定のエントリーへのリンク

<a href="<$MTLink entry_id="エントリーID"$>">リンク文字列</a>

「エントリーID」にはURLを生成したいエントリーのIDを設定します。

どのような場合に MTLink タグを使うと便利か

例えばエントリー内で過去の記事にリンクを貼る場合、MTLink タグを使うことによりエントリーの URL を変更しても、再構築することで自動的に URL が変更されます。ドメインが変わったり、または html から php 化してファイル拡張子が変わったり、エントリーファイルの命名方法自体を変更したり、などなど。

一部、もしくは全体のアドレスが変わってしまっても、このタグを使用していれば直接エントリー内のアドレスを書き換えることなく、再構築の処理のみで対応が済んでしまいます。

しかし、MovableType では初期設定のままでエントリー内で MT タグを使用することができません。そこで登場するのがプラグインです。

エントリー内においてMTタグを使用可能にできるプラグイン

こちら、正確にはテンプレート以外でMTタグが使用可能にできるプラグインです。

Life on the Kernel: MT::Plugin::EvalTemplate

設定方法

  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″$>

MT4.2よりプラグインが不要になりました (2009.8.30追記)

エントリー内においてMTタグを使用可能するには、これまでプラグインが必要でしたが、mteval モディファイアが標準機能として取り込まれました。利用方法は、前述の EvalTemplate のプラグインと同様で、MTEntryBody タグと MTEntryMore タグに属性「mteval」を追加すればOKです。

エントリー内でタグを使用エントリー追記部内でタグを使用
追加前<$MTEntryBody$><$MTEntryMore$>
追加後<$MTEntryBody mteval=”1″$><$MTEntryMore mteval=”1″$>

Name :
気力・体力勝負なシステム業界のエンジニアを経て、個人事業主として独立。Web サイト運営、動画制作など活動の場を広げています。目指すところへの道のりは険しいですが、自分が自分らしくあるために、一歩ずつ進んでいきます!

このブログでは、困ってたどり着いた人に、分かりやすく答えを提供できるように心掛けています。更新情報は、Twitter や Facebook ページを参照ください。よろしければフォローお待ちしています。

Facebook ページ NJ-CLUCKER
このブログが役に立ったら
「いいね!」お願いします
PAGE TOP ↑