息を吐くようにMTMLを書く。

  • Posted on
  • by

最近、友人との遊び目的で、プライベートなサイトをMTで作っています。
テンプレートには、Mid-Centuryを適用してみました。なかなか使い勝手が良いです。

そのサイトでは、大量のオーディオファイルや、特定のエントリーなんかをまとめたページを手軽に作りたくて、こんなカスタマイズをしています。


まず、MT4.2の新機能のグローバルモディファイアmtevalを使って、ウェブページに直接MTMLを書けるようにします。ただし、全部を対象にしてしまうのも気持ち悪いので、プライベートタグ「@eval」をつけてあるものだけを対象にするようにします。

<mt:PageIfTagged tag="@eval">
    <mt:PageBody mteval="1" />
<mt:else>
    <mt:PageBody />
</mt:PageIfTagged>

これで、ウェブページに簡単にMTMLを書けるようになりました。

さて、MTMLで満足な出力結果が得られるようになったら、今度はサイトのトップページなどに導線を作りたいところ。

MT4.1以前で、インデックステンプレートを利用してページを作っていた場合、ここでどうしてもひと手間かかっていました。
今回はウェブページを利用しているので、以下のように、プライベートタグ「@nav」の付けられたウェブページをサイトのトップナビゲーションに表示するよう、事前に作成しておきました。

<div id="nav">
    <div id="nav-inner">
        <ul>
            <li class="home"><a href="<$MTBlogURL$>">Home</a></li>
            <li><a href="<$mt:Link template="archive_index"$>">Archives</a></li>
        <mt:Pages tag="@nav">
            <li><a href="<mt:PagePermalink>"><mt:pageTitle></a></li></mt:Pages>
        </ul>
    </div>
</div>

topnav.png

ちなみに、mid-centuryのトップナビゲーションは初期状態では、「バナーヘッダー」モジュールテンプレートの中で、mt:ignoreで無効化されています。該当箇所のmt:ignoreを削除すれば有効になります。

これで完成。かなり快適です。
ちょっとAssetやエントリをまとめたページを作りたいなと思い立ったら、おもむろに@evalというタグをつけてウェブページにテンプレートを書き始めます。で、出来たら@navとタグを付ければ即サイトに反映されるという塩梅。MTML中毒の皆さん、良かったらお試しくださいー。