現在表示しているページ
Home > Weblog > Webデザインのメモ > パンくずリストをつける

2007年06月22日

パンくずリストをつける

結局色々やってみたものの、日にち固定の過去ログページでのパンくずリストの表示がうまくいきません。
とりあえず、今は、月までの表示にしています。

今回、パンくずリストをSeesaaブログにつけるカスタマイズで参考にさせていただいたのは、
Inqsite Blogさんのパンくずリストの記事と
seesaaカスタマイズwikiのパンくずリストを付けるです。

修正を加えるべき箇所が分かれば、あとは、サイトで使っているパンくずリストのhtmlを挿入して、CSSも追加すれば完成です。
さらに詳しいことはとても長いので、続きを読むのリンクからどうぞ。記事ページの個別html編集の上部は以下のようになります。
後の説明で分かりやすいように、改行を追加しています

<% content.header -%>
<!-- Content -->
<% if:page_name eq 'article' -%>
<div class="navi">
<% if:previous_article -%><a href="<% previous_article.page_url %>">
<<</a> <a href="<% previous_article.page_url %>">
<% previous_article.subject | tag_break %></a> | <% /if -%>
<a href="<% blog.page_url %>">TOP</a>
<% if:next_article -%> | <a href="<% next_article.page_url %>">
<% next_article.subject | tag_break %></a>
<a href="<% next_article.page_url %>">>></a><% /if -%>
</div>
<% /if -%>


<% if:page_name eq 'archive' -%>
<div class="navi">
<% if:archive_page_name eq 'month' -%>
<% if:previous_archive -%>
<a href="<% previous_archive.page_url %>"><<</a>
<a href="<% previous_archive.page_url %>">
<% previous_archive.createstamp | date_format("%Y年%m月") %>
</a> | <% /if -%><a href="<% blog.page_url %>">TOP</a>
<% if:next_archive -%> | <a href="<% next_archive.page_url %>">
<% next_archive.createstamp | date_format("%Y年%m月") %></a>
<a href="<% next_archive.page_url %>">>></a><% /if %>
<% /if %>
<% if:archive_page_name eq 'mday' %><% /if -%>
</div>
<% if:archive_page_name eq 'month' -%>
<% if:pager.need_pager -%>
<div class="navi">
<% if:pager.previous_page %>
<a href="<% archive.page_url(pager.previous_page) %>">
<% /if %><<<% if:pager.previous_page %></a><% /if %>
<% loop:list_pager %> <% if:current_page ne pager_number %>
<a href="<% archive.page_url(pager_number)%>"><% /if %>
<% pager_number %><% if:current_page ne pager_number %></a>
<% /if %> <% /loop %><% if:pager.next_page %>
<a href="<% archive.page_url(pager.next_page) %>">
<% /if %>>><% if:pager.next_page %></a><% /if %>
</div>
<% /if -%>
<% /if -%>
<% /if -%>


<% if:page_name eq 'category' -%>
<% if:pager.need_pager -%>
<div class="navi">
<% if:pager.previous_page %>
<a href="<% category.page_url(pager.previous_page) %>">
<% /if %><<<% if:pager.previous_page %></a>
<% /if %><% loop:list_pager %> <% if:current_page ne pager_number %>
<a href="<% category.page_url(pager_number)%>"><% /if %>
<% pager_number %><% if:current_page ne pager_number %></a> 
<% /if %><% /loop %><% if:pager.next_page %>
<a href="<% category.page_url(pager.next_page) %>"><% /if %>>>
<% if:pager.next_page %></a><% /if %>
</div>
<% /if -%>
<% /if -%>


簡単に解説します。
(※個人的な想像で解釈しているので、間違っている可能性は十分にあります)

<% if:page_name eq 'article' -%>
このページが個別ページの時に

<% /if -%>
までの間のタグを挿入するという意味です。

同様に、
<% if:page_name eq 'archive' -%>
は過去ログページの時、

<% if:page_name eq 'category' -%>
はカテゴリーページの時となります。

なので、それぞれの直下に、パンくずリストのタグを挿入していけばいいわけです。
実際にどう入れるかについては、トラックバック元をご覧になってください。


さて、トラックバック元ではやっていなかった、過去ログページでのパンくずリストについて書いていきます。
ですが、正しく表示できないので、微妙なところですが…。
<% if:page_name eq 'archive' -%>
の直下に
<div class="crumb"><a href="<% blog.page_url %>">TOP</a>>
<% archive.createstamp | date_format("%Y年%m月") %></div>
と入れれば、過去ログ(month)ページの時には
例) TOP>2007年6月
と表示されます。

が、最初に言ったように、カレンダーの日にちからたどった過去ログ(day)ページでも同じように表示されてしまいます。
過去ログ(day)ページのときは TOP>2007年6月15日 のように表示したいですよね。

なので、こうしてみました(くどいようですが、失敗作です)。

<% if:archive_page_name eq 'month' -%>
<div class="crumb"><a href="<% blog.page_url %>">TOP</a>>
<% archive.createstamp | date_format("%Y年%m月") %></div>
<% /if %>
<% if:archive_page_name eq 'mday' %>
<div class="crumb"><a href="<% blog.page_url %>">TOP</a>>
<% archive.createstamp | date_format("%Y年%m月%d日") %></div>
<% /if -%>

これで過去ログ(month)ページのときは、 TOP>2007年6月
過去ログ(day)ページのときは、 TOP>2007年6月15日
となるはずだったんですが……。
なぜか過去ログ(day)ページのときに15日とは出ないで1日と出てしまうのでした。

<% loop:list_article -%>

<% /loop -%>
で囲んでみたり、

<% loop:list_article -%>
<% if:with_date %>

<% /if %>
<% /loop -%>
で囲んでみたりしたのですが、結局表示が変わらず、お手上げ状態になりました。

なので、結局、月と日でのパンくずリストの表示切替はあきらめました。
どなたか解決できる人いないのでしょうかねぇ…。



あ、ちなみに、当ブログは親サイトと同じデザインにするために、ブログトップにもパンくずリストを表示していますが、これはトップページのみ表示する自由形式のコンテンツの中にパンくずリストのタグを入れているからなんです。
個人的に、HTMLをいじると、後のSeesaaブログのアップデートのときに色々と面倒になるので、自由形式のコンテンツの中にタグを入れるのが好きです。
だけど今回は、Seesaaブログの独自タグが必要だったので、HTMLをいじったのでした。
posted by aoi_gen2 at 00:46 | Comment(0) | TrackBack(0) | Webデザインのメモ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック