ページにパンくずリストを追加する際、各ページに手動で追加するのは面倒なので、
全テンプレート共通で使用できるものをテンプレートモジュールとして登録しておくと楽。
各ページに配置されたテンプレートモジュールは、
アーカイブテンプレートに設定される予約変数を判定し、
そのページに適したパンくずリストを自動生成してくれる。
コードはこんな感じ。
<div> <$mt:TemplateNote value="パンくず初期値"$> <mt:SetVarBlock name="pankuzu"><a href="<$mt:BlogURL$>">HOME</a></mt:SetVarBlock> <$mt:TemplateNote value="カテゴリアーカイブリストの時"$> <mt:If name="category_archive"> <mt:SetVarBlock name="pankuzu" append="1">><$mt:CategoryLabel$></mt:SetVarBlock> <$mt:TemplateNote value="ブログ記事の時"$> <mt:ElseIf name="entry_archive"> <mt:SetVarBlock name="pankuzu" append="1">><a href="<$mt:EntryLink archive_type="Category"$>"><$mt:EntryCategory$></a>><$mt:EntryTitle$></mt:SetVarBlock> <$MTTemplateNote value="月別ブログ記事リストの時"$> <mt:ElseIf name="datebased_monthly_archive"> <mt:SetVarBlock name="pankuzu" append="1">><$mt:ArchiveTitle$></mt:SetVarBlock> </mt:If> <$mt:GetVar name="pankuzu"$> </div>
この例だと、ブログ記事アーカイブ、カテゴリアーカイブリスト、月別ブログ記事アーカイブリストの
3テンプレートにテンプレートモジュールを追加して、再構築すれば OK。
下記のように出力される。
もし、上記以外のアーカイブリスト(例えば年別、ユーザ別など)もある場合は、
上記ソースに各々の場合の判定を追加してやればいい。
これを応用して、Title 部分にも「記事タイトル|カテゴリ名|サイト名」のように階層を持った形で表示することが出来る。