@IF文の基本的な使い方
最終更新日:2016年10月18日 shortlink:http://modx.jp/?id=1060
MODXではv1.0.13Jから@IF文を使うことができます。本家版でも近日中にリリース予定のv1.2から使えるようになります。
たとえば下記のように使います。
<meta name="description" content="[*description*]">
このように記述すると投稿画面のdescriptionフィールドに入力された文章をmetaタグとして出力することができますが、
<meta name="description" content="">
何も入力していない場合は上記のような空タグが出力されてしまいます。
<@IF:[*description*]>
<meta name="description" content="[*description*]">
<@ENDIF>
上記のように@IF文を用いると、descriptionが入力されている場合のみタグを出力します。
<table>
<@IF:[*HP*]> <tr><th>HP</th> <td>[*HP*]</td></tr> <@ENDIF>
<@IF:[*email*]><tr><th>email</th><td>[*email*]</td></tr><@ENDIF>
<@IF:[*TEL*]> <tr><th>TEL</th> <td>[*TEL*]</td></tr> <@ENDIF>
<@IF:[*FAX*]> <tr><th>FAX</th> <td>[*FAX*]</td></tr> <@ENDIF>
</table>
応用例。このような使い方もできます。たとえば FAX を入力していない場合は FAX の行を出力しません。
値によっては数式と見なされ意図通りに判定されないことがあります。
<@IF:[*TEL:isNotEmpty*]><tr><th>TEL</th><td>[*TEL*]</td></tr><@ENDIF>
上記のように記述すると値の有無を正確に判定します。