条件分岐

条件に応じて分岐するには、@IF文を使用します。
また必要に応じて、@ENDIF@ELSEを使用します。

構文:@IF

<@IF:条件式>
	出力内容
<@ENDIF>

<@IF:~>で開始し、<@ENDIF>で終了します。

条件式は変数を用いて評価される式を書きます。
変数のみの場合は空かどうか、モディファイアを使用する場合はモディファイアで判定されます。
モディファイアについてはモディファイアとはをご覧ください。

出力内容は条件式が真の場合に出力する内容を書きます。

サンプルコード

<@IF:[*pagetitle*]>Hello World<@ENDIF>
<@IF:[*id:is(1)*]>Hello World<@ENDIF>

@IF文の評価が偽の場合に出力するには、@ELSE文を使用します。

構文:@ELSE

<@IF:条件式>
	真の場合の出力内容
<@ELSE>
	偽の場合の出力内容
<@ENDIF>

サンプルコード:@ELSE

<div id="logo">
	<@IF:[*id:is(1)*]>
		<h1>[(site_name)]</h1>
	<@ELSE>
		<p>[(site_name)]</p>
	<@ENDIF>
</div>

複数の変数を指定する場合

複数の変数を指定したい場合は、論理演算子である||または&&を使用します。
||は前の式または後の式に一致し、&&は前の式かつ後の式に一致します。

  • ※ 丸括弧によるグループ化は行えません。

構文

||

<@IF:条件式||条件式...>
	真の場合の出力内容
<@ENDIF>

&&

<@IF:条件式&&条件式...>
	真の場合の出力内容
<@ENDIF>

サンプルコード

<div id="logo">
	<@IF:[*id:is(1)*]&&[*template:is(1)*]||[*id:is(2)*]&&[*template:is(2)*]>
		<h1>[(site_name)]</h1>
	<@ELSE>
		<p>[(site_name)]</p>
	<@ENDIF>
</div>

CMS「MODX Evolution」逆引きリファレンス一覧へ戻る