ホーム >> 左脳Script >> Movable Type >> 小技 >> パンくずリスト

パンくずリスト


Web サイトにおける「パンくずリスト」とは、「トピックパスとも呼ばれ自分の居る位置を把握し、移動をスムーズに行えるようにする目的がある。」とされています。具体的には「視覚的に階層構造が判り易いリンク集」と言ったところでしょうか。

実は、このブログも開設から一月ほどそんなモノの影も形も無かった訳ですが、「ユーザービリティの観点からあった方が良いだろう」と、設置を始めました。

「パンくずリスト設置でユーザビリティを向上させよう。」と、言うか、実はこのユーザビリティの向上とやらが、副作用的に「SEO対策に良いらしい。」と分ったのも設置の理由だったりします。


いろいろと設置に当たって検索したのですが・・・
有用なテンプレートがあるようで、どのサイトでも同じような「パンくずリストのテンプレート」を公表しているのです。

それが、大体以下のようなリスト。

<mt:Unless name="main_index"><mt:Ignore>ブログトップ"以外"</mt:Ignore>
 <a href="<mt:BlogUrl$>"><$mt:BlogName encode_html="1" $></a> &gt;

 <mt:If name="archive_index"><mt:Ignore>アーカイブインデックス</mt:Ignore>
  <$mt:GetVar name="page_title" $>
 </mt:If>

 <mt:If name="system_template"><mt:Ignore>システムテンプレート</mt:Ignore>
  <$mt:GetVar name="page_title" $>
 </mt:If>

 <mt:If name="databased_archive"><mt:Ignore>年月日アーカイブインデックス</mt:Ignore>
  <$mt:GetVar name="page_title" $>
 </mt:If>

 <mt:IfArchiveType archive_type="Author"><mt:Ignore>ユーザー別アーカイブ</mt:Ignore>
  <$mt:GetVar name="page_title" $>
 </mt:IfArchiveType>

 <mt:IfArchiveType archive_type="Category"><mt:Ignore>カテゴリーアーカイブ</mt:Ignore>
  <mt:ParentCategories exclude_current="1">
   <mt:IfNonZero tag="MTCategoryCount"><a href="<$mt:CategoryArchiveLink$>"></mt:IfNonZero>
    <mt:CategoryLabel$>
   <mt:IfNonZero tag="MTCategoryCount"></a></mt:IfNonZero>&gt;
  </mt:ParentCategories>
  <$mt:ArchiveTitle$>
 </mt:IfArchiveType>

 <mt:IfArchiveType archive_type="Individual"><mt:Ignore>ブログ記事</mt:Ignore>
  <mt:ParentCategories exclude_current="1">
   <mt:IfNonZero tag="MTCategoryCount"><a href="<$mt:CategoryArchiveLink$>"></mt:IfNonZero>
    <mt:CategoryLabel$>
   <mt:IfNonZero tag="MTCategoryCount"></a></mt:IfNonZero>&gt;
  </mt:ParentCategories>
  <$mt:GetVar name="page_title"$>
 </mt:IfArchiveType>
</mt:Unless>
どのサイトもある程度のアレンジがありますが、おおかた上記のようなコードになっています。


それだけ、ドコでも同じような物ならば、コピペでいけるだろう・・・と思ったのが大間違いでした。


まず、「<$mt:GetVar name="page_title" $>」が、無反応でした。まぁ、これは基礎となるテンプレートが違うのだろうと考え、以下のように置き換えました。
  • ブログ記事の部分は「<$mt:EntryTitle$>
  • アーカイブインデックスは・・・タイトルに当たる物が無いので、そのまま「アーカイブ」
としました。


次に、年月日アーカイブインデックスですが、そもそもこの左脳Scriptでは、そんなテンプレートが無かったりします。最初はそれに気付かず、月別アーカイブと混同していた為に、嵌ってしまいました。

月別アーカイブはインデックステンプレートではない為、<mt:If>では判別出来ません。ここでは、<mt:IfArchiveType>を使って判別します。


その他、カテゴリを遡って階層構造を表示する箇所などに少々の修正を加え、それなりに使えるようになりました。以下、コード。

<div><a href="/" title="to Home">ホーム</a> &gt;&gt; 
<mt:if name="main_index"><mt:ignore>ブログトップ</mt:ignore>
 <$mt:BlogName encode_html="1"$>

<mt:else><mt:ignore>ブログトップ以外</mt:ignore>
 <a href="<$mt:BlogURL$>" accesskey="1"><$mt:BlogName encode_html="1"$></a>

 <mt:if name="archive_index"><mt:ignore>アーカイブインデックス</mt:ignore>
   &gt;&gt; アーカイブ
 </mt:if>

 <mt:ifarchivetype archive_type="Monthly"><mt:ignore>月別アーカイブ</mt:ignore> &gt;&gt; 
  <$mt:archivetitle$>
 </mt:ifarchivetype>

 <mt:ifarchivetype archive_type="Category"><mt:ignore>カテゴリアーカイブ</mt:ignore> &gt;&gt; 
  <mt:parentCategories exclude_current="1">
   <mt:ifnonzero tag="MTCategoryCount"><a href="<$mt:categoryarchivelink$>"></mt:ifnonzero>
    <$mt:categorylabel$>
   <mt:ifnonzero tag="MTCategoryCount"></a></mt:ifnonzero>
   &gt;&gt; 
  </mt:parentCategories>
  <$mt:archivetitle$>
 </mt:ifarchivetype>

 <mt:ifarchivetype archive_type="Individual"><mt:ignore>ブログ記事</mt:ignore> &gt;&gt; 
  <mt:parentcategories>
   <mt:ifnonzero tag="MTCategoryCount"><a href="<$mt:categoryarchivelink$>"></mt:ifnonzero>
    <$mt:categorylabel$>
   <mt:ifnonzero tag="MTCategoryCount"></a></mt:ifnonzero>
   &gt;&gt; 
  </mt:parentcategories>
  <$mt:EntryTitle$>
 </mt:ifarchivetype>

</mt:if>
</div>
どんなサイトでも使える、ファイナルアンサーのような「パンくずリスト」テンプレートではありません。
が、そこら中で公表されている王道テンプレートがどんなサイトにも使えるとは限りません。

当然、ここで公開した上記のテンプレートも、もしかしたら貴方のブログではちゃんと動作しないかもしれません。あくまで参考としておいて下さい。




ところで、タグ検索のテンプレートはどうなっているのだらう・・・



トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/89

コメントする

ホーム >> 左脳Script >> Movable Type >> 小技 >> パンくずリスト

アーカイブ

このブログ記事について

このページは、n-yagiが2009年5月19日 18:10に書いたブログ記事です。

ひとつ前のブログ記事は「Gmail を使えるようにしてみよう。」です。

次のブログ記事は「パンくずリスト ~ウェブページ編~」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。