Follow Us.RSS

ifでの条件分岐は入れ子で使用できますか?

  • 新規投稿
  • ログイン

テーブルメーカーifでの条件分岐は入れ子で使用できますか?

テーブルメーカーで

フィールドのid 1に価格
id2に「選択ボタン」で「販売状況」のチェックボックスを付けたとして、以下の様にテンプレートを書きます。

<!--if id="1"-->
    <!--field id="1"--><!--/field-->
    <!--else-->
        <!--if id="2"-->
            <p>売り切れ</p>
            <!--else-->
            <p>準備中</p>
        <!--/if-->
<!--/if-->

この状態でid 1に値がなく、id 2に「チェック」を入れた状態だと、なぜか「売り切れ」「準備中」とどちらも表示されてしまいます。

表示して欲しいのは「売り切れ」だけなのですが、if文の入れ子はできないのでしょうか?


グラファイト-ニコリン
  • Sasagawa
  • Windows 7/Firefox33.0
  • 2014年10月15日(水) 12時40分1秒

テーブルメーカーRe:ifでの条件分岐は入れ子で使用できますか?

あ、すみません。間違いました。逆でした。

この状態でid 1に値がなく、id 2に「チェック」を入れた状態だと、「売り切れ」「準備中」のどちらも表示されません


グラファイト-ニコリン
  • Sasagawa
  • Windows 7/Firefox33.0
  • 2014年10月15日(水) 12時44分42秒

テーブルメーカーRe[2]:ifでの条件分岐は入れ子で使用できますか?

ご質問ありがとうございます。
お世話になっております。

ご推察の通り、if タグは入れ子では使用できない仕様となっています。

条件を工夫してご呈示いただいた条件を再現できるかどうか、なんらかの対応ができないかどうか検討中です。

明日までにはお返事できるかと思いますので、しばらくお待ちいただけましたらと思いますm(_ _)m。

〈追記〉

入れ子にはできませんが、elseif や値の一致などを追加することにしました。現在テスト中です。

現状でも否定演算子「!」が使えますので、ある程度対応できるかと思います。(マニュアルには記載し忘れていました…)

一通りテストが終わりましたらまたご報告いたします。


CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari7.1
  • 2014年10月16日(木) 11時4分18秒

テーブルメーカーRe[3]:ifでの条件分岐は入れ子で使用できますか?

お待たせいたしました。

本日公開した ver2.0.20141018 より、if タグが拡張されました。入れ子にはできませんがより複雑な条件を指定できるようになりました。

<!--if id="フィールドID"-->id に指定したフィールドに(条件に一致する)値があるとき表示する内容<!--/if-->
指定された id に(条件に一致する)値がある場合と(条件に一致する)値がない場合で表示内容を切り替えます。※入れ子にすることはできません。
<!--elseif id="フィールドID"--> ...
id に指定したフィールドに(条件に一致する)値があるとき表示する内容
<!--elseunless id="フィールドID"--> ...
id に指定したフィールドに(条件に一致する)値がないとき表示する内容
<!--else--> ...
いずれの条件にも一致しなかったとき表示する内容

フィールド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 に値がある場合

id の値について条件を指定することが出来ます。

eq="..."
一致
ne="..."
不一致
match="..."
正規表現に一致
unmatch="..."
正規表現に不一致
<!--if id="1-6" eq="HOGE"-->...<!--/if-->
フィールドID:1 から フィールドID:6 までのいずれかの値が「HOGE」である場合

cond="..." で細かく条件を指定できます。

〈フィールドID〉 eq ''
一致
〈フィールドID〉 ne ''
不一致
〈フィールドID〉 =~ //is
正規表現に一致
〈フィールドID〉 !~ //is
正規表現に不一致
〈フィールドID〉 > 数字
不等号(<,>,>=,<=)
$〈フィールドID〉
フィールドID の値
<!--if cond="1 eq 'A' || 2 =~ /$1/"-->...<!--/if-->
フィールドID:1 の値が「A」あるいは フィールドID:2 が フィールドID:1 の値を含む場合
<!--unless id="フィールドID"-->id に指定したフィールドに(条件に一致する)値がないとき表示する内容<!--else-->id に指定したフィールドに(条件に一致する)値があるとき表示する内容<!--/unless-->
指定された id に(条件に一致する)値がある場合と(条件に一致する)値がない場合で表示内容を切り替えます。条件の指定方法は「<!--if-->」と同じです。

お使いの例ですと、次のように設定できます。

<!--field id="1"--><!--/field-->
<!--if id="1 && 2"-->
<p>売り切れ</p>
<!--elseif id="1"-->
<p>準備中</p>
<!--/if-->

以上参考になりましたら幸いです。


CMONOS スタッフ
  • CMONOS スタッフ
  • MacOS X/Safari7.1
  • 2014年10月18日(土) 20時25分35秒

テーブルメーカーRe[4]:ifでの条件分岐は入れ子で使用できますか?

ありがとうございます!
早速試してみますね。

※fieldの値がない場合は表示されないから、提示いただいた書き方でもいいんですね。なるほど。


グラファイト-ニコリン
  • Sasagawa
  • Windows 7/Firefox33.0
  • 2014年10月20日(月) 9時31分8秒

タイトルは内容を簡潔にまとめたものにしてください。
「質問です」などのタイトルで投稿することはできません。

アイコン


この E-Mail は表示されません。



添付ファイル

(< 1000000 byte)

サイズ
(<800) × (<800) ピクセル


ユーザー環境
MacOS X/AppleWebKit537.36


  • 新規投稿
  • ログイン
戻る

© CMONOS Co. Ltd.


PC 向けページに移動する