バージョン2.0.0から「IFブロック」が追加されました。
テンプレート | ドキュメント | a-blog cms 制作者向け情報

バージョン1.6.0以前、または「特定の値以外」で分岐したいときは、こちらを参照ください。
カスタムフィールドが「特定の値以外」「空」のときに対応する(バージョン1.6.0以前)

a-blog cmsバージョン1.6.1以降のカスタムフィールドは、

  • 値が指定した文字列と一致したときに実行する
  • 何らかの文字列が入っていたときに実行する

の他に、

  • 値が空のときに実行する

という条件分岐が可能になりました。

■特定の値のとき
<!-- BEGIN hoge:touch#0 -->hogeの値が0です<!-- END hoge:touch#0 -->
<!-- BEGIN hoge:touch#1 -->hogeの値が1です<!-- END hoge:touch#1 -->

■何らかの値が入っているとき
<!-- BEGIN fuga:veil -->fugaの値は {fuga}です<!-- END fuga:veil -->

■値が空のとき
<!-- BEGIN piyo:empty -->piyoの値は空です<!-- END piyo:empty -->

カスタムフィールド「hoge」に何らかの値があるときと、空のときの条件分岐は、以下のように記述します。

<!-- BEGIN hoge:veil -->
hogeの値は {hoge} です
<!-- END hoge:veil -->
<!-- BEGIN hoge:empty -->
hogeには値が入っていません
<!-- END hoge:empty -->

モジュール内でエントリーの情報を参照するとき

条件分岐タグの間では、それより外側で有効になっていたEntry_Bodyモジュールなどの情報を参照することができません。 このため、条件分岐内で記事の概要やカスタムフィールドを呼び出したい場合は、さらに任意モジュールで囲む必要があります。

以下は、METAとOGPに対する応用例です。

  1. カスタムフィールド「meta_desc」に値が入っているときは値を出力
  2. 空のときはEntry_Summaryモジュールを利用して、本文の抜粋を出力

という処理を行います。

<!-- BEGIN meta_desc:veil -->
<meta name="description" content="{meta_desc}">
<meta property="og:description" content="{meta_desc}">
<!-- END meta_desc:veil -->
<!-- BEGIN cf_meta_desc:empty -->
<!-- BEGIN_MODULE Entry_Summary id="postSummary" --><!-- BEGIN unit:loop --><!-- BEGIN entry:loop -->
<meta name="description" content="{summary}[trim(200, '...')]">
<meta property="og:description" content="{summary}[trim(200, '...')]">
<!-- END entry:loop --><!-- END unit:loop --><!-- END_MODULE Entry_Summary -->
<!-- END meta_desc:empty -->

尚、Entry_Summaryモジュールには一意のIDを付け(この例ではpostSummary)、管理ページの「モジュールID」の設定で、現在表示しているページのエントリーを呼び出すようにする必要があります。

補足

他のCMSの場合、カスタムフィールドの値を一旦変数に代入し、条件分岐に通すことで同様の処理が可能です。MovableTypeであれば独自タグ、WordPressであればPHPで処理します。