ライブドアブログ( @livedoorblog ) でトップページにだけ要素を配置する為のテンプレート術

   

livedoorblog

ちょっと必要だったので調べてみた。
ライブドアブログを使い始めて二年が経ち、いろんなところで使っていることは

[Updated11/17 13:30]:ライブドアブログ(@livedoorBlog)の良い点/悪い点をまとめてみた

ここにも書いたとおりだ。
今回紹介するのは、
トップページにだけ何かを表示したい
というニーズを如何に満たすかという話。


ライブドアブログはテンプレートをいじることが出来る。

僕のブログ自体は、無料のテンプレートを自分でいじって改造している。

ブログテンプレートには、いくつかのタグが使えるようになっており、それを使って実現する。

さて、今回トップページにだけ何かを表示したいということを考えたのだけれど、それというのは
「トップページだけ、ナビゲーションを変えて表示したい」
という単純なニーズから来ている。
トップページは、サイトの紹介を入れてみたり、カテゴリーの説明してみたりとか、そういう事をやりたかったのね。

で、それを実現するにはどうしたら良いかというと。
直球で、それに該当する条件分岐のタグはない。
だから、組み合わせで作るのでした。

まず、使うタグは二種類
  1. IndexArticlesLoop
  2. UnlessNextArticle

1のタグはなにしているかというと、Indexページ(つまり、個別の記事ページではなく、トップページや、ページャーでリンクした次のページ等の一覧ページ)を表示しますよという意思表示だ。

これを入れることで、そのページで、ブログ設定>基本設定>トップページの表示件数で設定した数だけループする。

2のタグは何をするかというと、1のタグの中で正常に動作する。(多分そのはず)
ライブドアブログでは、IfをUnlessにすると、ifnotと同義ということで、先程のタグリストを見てみると

IfNextArticleは:次に記事が存在すれば処理
であるので、UnlessNextArticleにすると:次に記事が存在しなければ処理
という意味になる。

つまり、一番最新の記事が表示されている場合なら処理。だ。
結論としては、
<IndexArticlesLoop>
<UnlessNextArticle>
ここにトップページにだけ表示したい要素を配置する
</UnlessNextArticle>
</IndexArticlesLoop>
と書いてやれば、トップページにのみ要素を配置することができるようになる。

個人的には、
  • 各カテゴリーのトップページの場合
  • 各タグのトップページの場合

に要素を表示できるようなタグがあるととても助かるのだけど、出来ないっぽいですね。
もしかして、上のタグを書きこめばいけるかなぁ・・・?と思ってやってみたんだけど、このタグは純粋にアイテムがあるかどうかで判断しているらしく、カテゴリ・タグとは別でしたとさ。
あなたのお役に立てば!!

おすすめ記事一覧

 - 未分類