HOME > テンプレート式
テンプレート式
カテゴリごとにスタイルを使い分ける為、<body>タグにカテゴリ名のidをつける、というような場合を考えます。
各テンプレートにおいて、categoryというテンプレートプロパティにカテゴリー名をあらわす文字列が入っています。これをそのまま使うことが出来れば、テンプレートを利用して先ほどのような要求を実現することが出来ます。
これを実現するには、テンプレート式というものを使います。
使い方は、テンプレートのソースコードの<body>タグの部分に、
<body id="@@(category)@@">
と追加するだけです。この、@@(〜)@@で囲まれた部分が、テンプレートの適用時には展開され、今回の場合ではカテゴリー名を表す文字列となります。例えば、category='home'のときは、上記の部分のソースは<body id="home">となります。
テンプレート式の中では、演算子を使うことも出来ます。例えば、
X?A:B
のような三項演算子が利用できます。これは、Xが真のときはAを、偽のときはBを返す演算子です。例えば、
<li @@((category=='home')?'class="self"':'')@@>
とすれば、categoryの値がhomeのときは<li>タグにclass="self"が付け加えられ、そうでないときは何も付け加えられません。これは、オプション領域(4)で書いた
<li<!-- TemplateBeginIf cond="category=='home'" --> class="self"<!-- TemplateEndIf -->>
と結局のところ同じことになります。テンプレート式を使った方が短くは書けますが、場合によって使い分けるのが良いかと思います。