ページタイプの取得は、data:blog.pageType で取得できる。
Blogger のヘルプ によると取得できる値は以下の3つ。
- item --- 個別の記事
- archive --- アーカイブページ
- index --- インデックスぺージ
早速やってみよう。
まずはテンプレートの編集。ウィジェットの中に書き込むので、 「レイアウト > HTML の編集」で開く「レイアウト > HTML の編集」画面で 「ウィジェットのテンプレートを展開」にチェックを入れる。
するとウィジェットの中身も展開されるので表示されているテンプレートもぐわっと長くなる。
今回は記事のタイプを、各記事が表示される部分の上に表示しようと思うので、
main セクションの Blog1 ウィジェットの中に記述する。具体的には、
<b:section class='main' id='main' showaddelement='no'>
というセクションの中の
<b:widget id='Blog1' locked='true' title='ブログの投稿' type='Blog'>
の中に記述することになる。その長いウィジェットの中のどこが良いかということになるのだが、
<b:include data='top' name='status-message'/>
の直下あたりが良いらしい。この status-message は、 モバイル用のメインの
<b:includable id='mobile-main' var='top'>
の中と、モバイル以外用のメインの
<b:includable id='main' var='top'>
の中にあるので必要な方(もしくは両方)に記述すればいい。今回は、普通(非モバイル)で表示できればいいので 「id='main'」のほうに書く。
記述する内容。
今回は、if 文の使い方の練習も兼ねて、pegeType 値とそれに応じた文字を表示するようにする。
**** ページのタイプはこれだ ****<br/> <data:blog.pageType/><br/> <b:if cond='data:blog.pageType == "index"'>インデックス <b:else /> <b:if cond='data:blog.pageType == "archive"'>アーカイブ <b:else /> <b:if cond='data:blog.pageType == "item"'>アイテム <b:else />不明なページタイプ </b:if> </b:if> </b:if> <br/><br/><br/>
プレビューでそれっぽくなっていることを確認して、「テンプレートを保存」。
さて、表示してみよう。
トップページ:
**** ページのタイプはこれだ **** index インデックストップページはインデックスページなのか。
個別記事ページ:
**** ページのタイプはこれだ **** item アイテム
アーカイブページ:
**** ページのタイプはこれだ **** archive アーカイブ
ラベルページ:
**** ページのタイプはこれだ **** index インデックスラベルの記事一覧ページは「インデックス」ページなのか。 トップページと同じタイプになっている。
静的ページ:
**** ページのタイプはこれだ **** static_page 不明なページタイプこんな値が返るなんてどこにもかいてなかったじゃん。
実験結果。 data:blog.pageType で取得できる値は以下の4つだった。
- item --- 個別の記事
- archive --- アーカイブページ
- index --- インデックスぺージ
- static_page --- 静的ページのぺージ
0 件のコメント:
コメントを投稿