久しぶりというか一年以上書いていないかもしれないlivedoor Blogのカスタマイズネタです。
既に知られている事かもしれないけれど、livedoor Blogで用意されている条件式(<If~>)系の独自タグでは、どれでも<Else>タグが使用出来る事に今更気付きました。
普通に考えれば分かる事ですし、以前からコメントのメール欄とかURL欄なんかで使われているのは知っていたのですが、全ての条件式で使えるとは……
まぁ、要は"ある条件"に当てはまらない時の動作が設定できるということで、例えばコメントが一つも投稿されていない時「コメントはまだ投稿されていません。」というメッセージを表示させるには
<IfArticleCommentCount>
〜コメントの表示ループとか〜
<Else><p>コメントはまだ投稿されていません。</p>
</IfArticleCommentCount>
と、こんな風に書けばうまく表示されます。
#実際にウチでもコメントがない場合「no comments...」なんて表示を入れてます。
すべてきちんと動作確認したわけではないのですが、他タグでも同様に、条件が真の場合の動作を先に書いて偽(Else)の動作を後に書いてを閉じるように書くほうが良いかと思います。
これを使えばカスタマイズの幅が少し広がるのではないでしょうか。
条件式系の独自タグ一覧
- <IfDateChanged>~</IfDateChanged> / 日付が変わっていたら表示
- <IfDateFooter>~</IfDateFooter> / その日付の一番最後の記事であれば表示
- <IfArticleRating>~</IfArticleRating> / 記事にランクがあると表示
- <IfArticleBodyMore>~</IfArticleBodyMore> / 記事に追記があれば表示
- <IfArticleAllowComment>~</IfArticleAllowComment> / コメント許可なら表示
- <IfArticleAllowPing>~</IfArticleAllowPing> / トラックバック許可なら表示
- <IfArticleCategory1>~</IfArticleCategory1> / カテゴリ1を設定されていれば表示
- <IfArticleCategory2>~</IfArticleCategory2> / カテゴリ2を設定されていれば表示
- <IfHasArticleTags>~</IfHasArticleTags> / 記事にタグが設定されていれば表示
- <IfFirstArticle>~</IfFirstArticle> / 記事ループの最初の記事であれば表示
- <IfPrevArticle>~</IfPrevArticle> / 前の記事があれば表示
- <IfNextArticle>~</IfNextArticle> / 次の記事があれば表示
- <IfArticlePingCount>~</IfArticlePingCount> / 記事にトラックバックがあれば表示
- <IfTrackBackRating>~</IfTrackBackRating> / トラックバックに評価が設定されていれば表示
- <IfArticleCommentCount>~</IfArticleCommentCount> / 記事にコメントがあれば表示
- <IfCommentUrl>~</IfCommentUrl> / コメントのURL欄に記入があれば表示
- <IfCommentEmail>~</IfCommentEmail> / コメントのメール欄に記入があれば表示
- <IfCommentRating>~</IfCommentRating> / コメントに評価が設定されていれば表示
- <IfCommentNeedAuth>~</IfCommentNeedAuth> / コメントの際ユーザ認証が必要であれば表示(Pro限定)
