パンくずリスト for Movable Type 4

23 Aug 2007
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>をインラインにすることにより、一列に表示。

Comments (11)

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

返信

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

返信

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

返信

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

返信

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

返信

nobubuさん、コメントありがとうございます。
返事が遅くなり失礼しました。

これをベースに組み立てて、カッコイイパンくずリスト作り上げてください!

返信

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

返信

chihiro.Nさん

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

返信

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

返信

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

返信

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

返信

Trackbacks (3)

Trackback URL: http://www.screamo.jp/cms/mt-tb.cgi/90

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

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

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