5章 テンプレート - 5. テンプレートの展開
条件に応じて展開形式を変えたい場合には wr-if を使います。wr-if タグの記述形式は下記のとおりです。
condition="<cond>" に書かれた条件が成立している場合に限り「任意の記述」の部分が展開されます。wr-if タグの内側には wr-else タグを使って条件が成立しなかった場合に展開する部分を定義しておくこともできます。
<wr-if condition="<cond>">
.........任意の記述........
</wr-if>
<wr-if condition="<cond>">
<wr-then>
.........任意の記述........
</wr-then>
</wr-if>
<wr-if condition="<cond>">
<wr-then>
.........条件が成立した時に展開される部分........
</wr-then>
<wr-else>
.........条件が成立しなかった時に展開される部分........
</wr-else>
</wr-if>
condition="<cond>" に書く条件式には、式の開始と終了を表す % 記号はいりません。<cond> の部分は、あらかじめ % に挟まれているかのように式として評価されます。
<cond> の部分には値が論理値(true または false)になる任意の式を書くことができます。
<cond> の部分に文字列を記述する必要がある場合は、文字列を "" (double quote) で囲みます。その際には、" をエスケープするために、" の前に \(バックスラッシュ)を記述してください。例えば下記のようにして文字列を表記してください。
<wr-if condition = " pageTitle() == \"今日の天気\" ">
.........任意の記述........
</wr-if>
ラジオボタンの要素「都道府県」の値が東京都かどうかを調べてみます。
<wr-if condition="都道府県==\"東京都\"">
%都道府県%<br />
</wr-if>
テキストの要素「メールアドレス」の欄に値が指定されているかどうかを調べ、指定されていればそのメールアドレスを表示し、指定されていなければ「メールアドレスは不明です」と表示するための展開は、下記のように記述することができます。
<wr-if condition="isNotNull(メールアドレス)">
<wr-then>
<a href="mailto:%メールアドレス%">%メールアドレス%</a>
</wr-then>
<wr-else>
メールアドレスは不明です
</wr-else>
</wr-if>
<cond>には計算式を書くことができます。 テキストの要素「価格」に数値が入っている場合、税率の 1.08 をかけて計算した結果が1000を超えているかどうか判定しています。
<wr-if condition="isNumber(価格) && 価格 * 1.08 > 1000">
........
</wr-if>