- HOME >
- 【Movable Type】 >
- MTのインデックステンプレートの出力ファイル名を取得してみる。
URLの正規化を「canonical」で行っていたり、スマートフォンサイトとの連携などで今表示しているURLを取得する必要がある時。
ブログ記事ページの場合、
<$mt:EntryPermalink$>
ウェブページの場合、
<$mt:PagePermalink$>
アーカイブページの場合
<$mt:ArchiveLink$>
などでURLが取得できます。
しかし、インデックステンプレートなどの場合はどうやって取得しましょうか。
ブログ記事やウェブページの場合、
<$MTEntryBasename$>
<$MTPageBasename$>
で表示しているページのファイル名が取得できますが、インデックステンプレートの出力ファイル名を取得するタグはありません。
<$MTIndexBasename extension="1"$>
では各アーカイブのファイル名を取得できますが、インデックステンプレートでは正常に機能しない。
「<$mt:IndexLink$>」はどうか?
<$mt:IndexLink$>は、全てインデックステンプレートのリンク一覧を表示するので現在のページを判断できない。
結果、インデックステンプレート内に変数で設定しておいて判断するしかないようです。
<MTSetVarBlock name="IndexTName">現在のテンプレート名</MTSetVarBlock>
などとして、振り分けを行うしかありません・・・。
そもそも、インデックステンプレートは管理者が作成するもので、増えるものでもないので、MTの上記仕様になっています。
多くの案件を1つのMTで制作、集中管理している場合はインデックステンプレートの情報「出力ファイル名」、「タイトル」、「テンプレートの種類」は、別途変数で設定し、管理しましょう。
(※本ページはプロモーションが含まれています。)
- 広告
- 広告