関数索引
resourceWithName() 関数は、指定された名前をもつリソースを返します。リソースの名前がテンプレート作成時に確定していない場合に使用します。
従来から resourceURL() という関数がありましたが、本関数はそれとほぼ同様の機能を持っています。resourceURL() は存在しないリソースを指定して呼び出すとエラーとなりますが、resourceWithName() 関数の場合エラーとはならず null が返されます。
取得したいリソース(テンプレートリソースまたはサイトリソース)の名前を指定します。指定された名前のリソースがない場合には null が返されます。
あらかじめ数字の「0」から「9」をかたどった10個の GIF ファイルを作成し、それらをリソースとして登録します。リソースの名前はそれぞれ Number_0 から Number_9 としておきます。
「価格」という名前の「1行テキスト」タイプの要素を作ります。
そこに入力された数値に応じて、リソースに登録しておいた数字の画像を並べて表示してみましょう。
<body>
........
<wr-for string="価格" variable="c">
<img src="%resourceWithName(concatenate("Number_", c))%">
</wr-for>
........
</body>
concatenate() 関数を使用して、要素に指定された値からリソース名を組み立てているところがポイントです。
「春」「夏」「秋」「冬」の各季節用のリソースを4点作成しそれらをリソースとして登録します。リソースの名前はそれぞれ 「春」「夏」「秋」「冬」 としておきます。
「季節」という名前の「ポップアップボタン」タイプの要素を作ります。
ポップアップボタンの選択状態に応じて、リソースに登録しておいた季節の画像を切り替えて表示してみましょう。
<body>
........
<img src="%resourceWithName(季節)%">
........
</body>
resourceWithName() 関数は、性能面で、resourceURL() 関数より有利です。