veilブロック

非表示部分の制御 :veil ブロック

条件による表示/非表示の制御について、モジュール単位では「タッチモジュール」がありますが、ここでは :veil ブロックによるモジュール内での部分的な表示の制御について解説します。

カスタムフィールド画像を表示する場合

例えば、カスタムフィールド画像を表示させる際には、以下のような記述となります。

<img src="{photo1@path}" width="{photo1@x}" height="{photo1@y}">

しかし、この記述では画像が無い場合には、

<img src="" width="" height="">

のようなタグがそのまま表示されてしまう事になります。これを表示しないために、:veil という機能が用意されています。

<!-- BEGIN photo:veil -->
<img src="{photo1@path}" width="{photo1@x}" height="{photo1@y}">
<!-- END photo:veil -->

上記の記述は、カスタムフィールド画像の出力部分を <!-- BEGIN photo:veil --> から <!-- END photo:veil -->で囲むことで、その間にある変数 {photo1@path}, {photo1@x}, {photo1@y} のいずれも編集されなかった時に囲まれていた部分全体を非表示にする、という意味を持っています。

このように :veil を使うことで、変数の有無による表示/非表示の制御ができます。
変数の有無を超えた条件による表示の制御にはIFブロックを使います。