パンくずリスト for Movable Type 4

Movable Type Tips パンくずリスト

Movable Type 4 向けの「パンくずリスト」を作ってみた。MT4で登場した<MTIf>を組み合わせることによって、ページのタイプによって表示を制御する。ちょっと眺めのソースだけど、これをヘッダー・モジュールなどに組み込めば、立派な「パンくずリスト」の出来上がりだ。

<MTIf>を制する者はMovable Typeを制する!!

ソースはページ下部にずらーっと書いてあるので、最後にサンプルとして読んで欲しい。今回は「<MTIf>」と「<MTUnless>」を積極的に利用して、ページタイプによって表示するものを変えているんだけれども、この「<MTIf>」、今回のバージョンアップの一番の目玉と言っていいほど柔軟性に富んでいて、Movable
Typeの可能性を広げてくれる。

簡単に説明しよう。冒頭の<MTUnless name="main_index">〜</MTUnless>は、main_indexという、nameモディファイアの値が設定されているページ以外表示させるというもの。このmain_indexという値は、メインページにしかデフォルトで設定されていないので、メインページ以外は表示するということになる。

次の<MTIf name="archive_index">〜</MTIf>は、nameの変数がarchive_indexの場合のみ表示。デフォルトの場合は、アーカイブインデックスのみがこの値を返す。<MTIf
name="system_template">はシステムテンプレートが返す値のみを表示だ。

途中に表記されている<MTIfArchiveType>〜</MTIfArchiveType>は、指定したアーカイブタイプのみ表示させるというMTタグ。

<MTIfArchiveType archive_type="Individual">あいうえお</MTIfArchiveType>

上記の場合は、ブログ記事のページの場合に「あいうえお」と表示される。アーカイブテンプレートだけを制御さえたい場合には重宝するだろう。

このような調子で、ここの部分はこのページだけ表示。ここはこのページだけ非表示。という具合にテンプレートを作り上げていく。これは「パンくずリスト」だけではなく、Movable
Type 4 全体のテンプレートに言えることで、<MTIf>をある程度わかるようになれば、全体のテンプレートも把握できるようになる。<MTIf>を制する者は、Movable
Typeを制すると言っても過言ではないぞ!

パンくずリスト(スタイルシート適応後)

ページのタイプによって切り替わるパンくずリスト。とってもMovable Type 4らしい。

ソース

<!-- メインページ以外の場合 開始 -->
<MTUnless name="main_index">
<ul id="navigator">
<li><a href="<$MTBlogURL$>">ホーム</a></li>
<!-- アーカイブインデックスの場合 開始 -->
<MTIf name="archive_index">
<li> &raquo; <$MTGetVar name="page_title"$></li>
</MTIf>
<!-- アーカイブインデックスの場合 終了 -->
<!-- システムテンプレートの場合 開始 -->
<MTIf name="system_template">
<li> &raquo; <$MTGetVar name="page_title"$></li>
</MTIf>
<!-- システムテンプレートの場合 終了 -->
<!-- アーカイブ(年月日)の場合 開始 -->
<MTIf name="datebased_archive">
<li> &raquo; <a href="<$MTLink template="archive_index"$>">アーカイブ</a></li>
<li> &raquo; <$MTGetVar name="page_title"$></li>
</MTIf>
<!-- アーカイブ(年月日)の場合 終了 -->
<!-- ユーザーアーカイブの場合 開始 -->
<MTIfArchiveType archive_type="Author">
<li> &raquo; <a href="<$MTLink template="archive_index"$>">アーカイブ</a></li>
<li> &raquo; <$MTGetVar name="page_title"$></li>
</MTIfArchiveType>
<!-- ユーザーアーカイブの場合 終了 -->
<!-- カテゴリーアーカイブの場合 開始 -->
<MTIfArchiveType archive_type="Category">
<li> &raquo; <a href="<$MTLink template="archive_index"$>">アーカイブ</a></li>
<li> &raquo; <$MTCategoryLabel$>カテゴリ</li>
</MTIfArchiveType>
<!-- カテゴリーアーカイブの場合 終了 -->
<!-- ブログ記事の場合 開始 -->
<MTIfArchiveType archive_type="Individual">
<li> &raquo; <a href="<$MTLink template="archive_index"$>">アーカイブ</a> &raquo; </li>
<!-- ブログ記事のカテゴリ一覧 生成 -->
<MTEntryCategories glue=", ">
<li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$>カテゴリ</a></li>
</MTEntryCategories>
<li> &raquo; <$MTGetVar name="page_title"$></li>
<!-- ブログ記事のカテゴリ一覧 終了 -->
</MTIfArchiveType>
<!-- ブログ記事の場合 終了 -->
</ul>
</MTUnless>
<!-- メインページ以外の場合 終了 -->

以下のソースを表示させたいところに記入。サンプル画像では、ヘッダー・モジュール内の下部に記入した。

スタイルシート

ul#navigator li {
display: inline;
}

<li>をインラインにすることにより、一列に表示。

  • にこにこ

    パンくず、参考にさせて頂きました。
    ありがとうございます!

  • にこにこさん、こんばんわ。
    多少荒削りなパンくずですが、自分流にカスタマイズしてお使いください。

  • どもども、遠田幹雄です。
    MT4用のMTIFを活用したパンくずリスト。
    すばらしいですね。
    遠田.jpブログ(http://www.tohda.jp/blog/)で
    参考にさせていただきました。
    感謝。お礼まで。ペコリ m(__)m

  • 遠田幹雄さん、コメントありがとうございます。
    お役に立てて幸いです。
    MTIFを活用するだけで、様々な事ができるようになるので、是非とも試してみてください。

  • NON

    MT4.1用パンくずリスト改悪版

    小粋空間さんテンプレートユーザで パンくずリスト for Movable Type 4 – SCREAMO 様のパンくずリストが使えない!とお嘆きの方もい…

  • ネットで100倍の豊かさを引き寄せる秘密

    小粋空間テンプレートのパンくずリストをカスタマイズ

    パンくずリスト,テンプレート,ブログ,カスタマイズ,MT,Movabletype,ムーバブルタイプ

  • パンくずリスト大変参考になりました。
    使わせていただきます。
    ありがとうございます。

  • nobubuさん、コメントありがとうございます。
    返事が遅くなり失礼しました。
    これをベースに組み立てて、カッコイイパンくずリスト作り上げてください!

  • 北国おんなSOHO記

    パンくずリストをつけてみた

    SCREAMO CREATIVEさんの記事「パンくずリスト for Movabl…

  • はじめまして。
    パンくず、参考にさせていただきました!
    ものすごく勉強になりました。
    どうもありがとうございました!

  • chihiro.Nさん
    かなりブログ放置気味にもかかわらず、
    このようなコメントいただけると励みになります!
    ありがとうございます。

  • nom

    パンくずリスト使わせていただきました。
    MTについてはまだまだ勉強しないといけないことばかりですが、わかりやすいソースを書いていただいたお陰で、と「MTIf」と「テンプレート」について理解が深まりました。
    どうもありがとうございました。

  • ken

    とても参考になりました!
    ありがとうございます。

  • tmo

    いつも大変参考にしています。
    ありがとうございます。
    まだまだわけが分かってませんが、ものまねさせてもらって徐々に覚えて行きたいと思います。

related story