Follow Us.RSS

2010年7月14日(水)値のあるなしで表示を変える方法

  • 「CMONOS.JP」のテンプレートは、フィールドヘッダとフィールドフッタを設定することができます。これらはフィールドに値があるときのみ表示されます。さらに今回、より詳細に表示をコントロールできる if タグが追加されました。

  • (2010年7月14日(水) 午前9時23分28秒 更新)
  • このエントリーをはてなブックマークに追加
    BuzzurlにブックマークBuzzurlにブックマーク

フィールドヘッダとフィールドフッタ

これまでも、CMONOS.JP ではフィールドヘッダとフィールドフッタを使うことで、フィールドに値があるときのみ表示する内容を設定することが出来ました。たとえば、定義リストを使ってフィールドを表示する場合、次のように書くことができます。

<dl>

<!--field id="1"-->
<!--head--><dt><!--name--><!--/name--></dt>
<dd><!--/head-->
<!--foot--></dd>
<!--/foot-->
<!--/field-->

<!--field id="2"-->
<!--head--><dt><!--name--><!--/name--></dt>
<dd><!--/head-->
<!--foot--></dd>
<!--/foot-->
<!--/field-->

<!--field id="3"-->
<!--head--><dt><!--name--><!--/name--></dt>
<dd><!--/head-->
<!--foot--></dd>
<!--/foot-->
<!--/field-->

</dl>

このとき、もし フィールド-2 に値がなければ次のように表示されます。

<dl>
<dt>フィールド-1 のフィールド名</dt>
<dd>フィールド-1 の値</dd>
<dt>フィールド-3 のフィールド名</dt>
<dd>フィールド-3 の値</dd>
</dl>

ただ、フィールドヘッダとフィールドフッタだけでは表示のコントロールに限界があり、フィールド-1、フィールド-2、フィールド-3 のすべてに値がない場合でも、「<dl></dl>」が表示されてしまいました。

<!--if--><!--/if--> タグの使い方

そこで最新版では「<!--if--><!--/if-->」タグが追加されました。使い方は下記のようになります。

<!--if id="入力フィールドID"-->
id に指定した入力フィールドに値があるとき表示する内容
<!--else-->
id に指定した入力フィールドに値がないとき表示する内容
<!--/if-->
<!--unless id="入力フィールドID"-->
id に指定した入力フィールドに値がないとき表示する内容
<!--else-->
id に指定した入力フィールドに値があるとき表示する内容
<!--/unless-->

フィールドIDの指定には下記を使用できます。

&&かつ
and かつ
||または
or または
, (カンマ区切り)または
1-5フィールドID:1 から フィールドID:5 までのいずれか
3...9フィールドID:3 から フィールドID:9 までのいずれか
((3-9) && 1) || 12フィールドID:3 から フィールドID:9 までのいずれかに値があり、かつ、フィールドID:1 に値がある場合、もしくは、フィールド:12 に値がある場合

この「<!--if--><!--/if-->」タグを使って最初のテンプレートを書き換えると次のようになります。

<!--if id="1-3"--><dl>
<!--/if-->

<!--field id="1"-->
<!--head--><dt><!--name--><!--/name--></dt>
<dd><!--/head-->
<!--foot--></dd>
<!--/foot-->
<!--/field-->

<!--field id="2"-->
<!--head--><dt><!--name--><!--/name--></dt>
<dd><!--/head-->
<!--foot--></dd>
<!--/foot-->
<!--/field-->

<!--field id="3"-->
<!--head--><dt><!--name--><!--/name--></dt>
<dd><!--/head-->
<!--foot--></dd>
<!--/foot-->
<!--/field-->

<!--if id="1-3"--></dl>
<!--else-->値がありません。<!--/if-->

これでもう「<dl></dl>」が表示されることはありません!

更新情報

最近の記事

RSS

カレンダー

2010年7月
123
45678910
11121314151617
18192021222324
25262728293031
このページのトップへ