web-dev-qa-db-ja.com

複数の条件でshowon属性を使用するにはどうすればよいですか?

Joomla 3.9.3モジュールで、他の3つのフィールドの値をチェックして、showonでフィールドを表示/非表示にしようとしています

私のXML:

<field
    name="foo"
    type="text"
/>
<field
    name="bar"
    type="text"
/>
<field
     name="fooimg"
    type="media"
    showon="foo!:[OR]bar!:"
/>
<field
    name="baz"
    type="radio"
    class="btn-group btn-group-yesno"
    showon="foo!:[OR]bar!:[AND]fooimg!:"
    default=""
    >
    <option value="bazval">JYES</option>
    <option value="">JNO</option>
</field>

あり:showon="foo!:[OR]bar!:[AND]fooimg!:" on bazフィールド(fooまたはbarに値がある)とfooimgにも値がある場合に、bazが表示されることを期待しています。

しかし、結果は次のとおりです。

    foo = true 
    bar = false
    fooimage = true
    baz is NOT SHOWED (should be showed)

    foo = false
    bar = true
    fooimage = true
    baz IS SHOWED (as aspected)

Fooimageまたはfoo and barをFalseに設定すると、期待どおりに動作します。

私も試しました:"fooimg!:[AND]foo!:[OR]bar!:"

私は何を間違えましたか?

3
Znort

これがあなたに役立つかどうかは完全にはわかりませんが、fooimgフィールドはfooまたはbaris trueの場合にのみ表示されるため、その後、bazフィールドで再度確認する必要はないため、fooimgフィールドがtrueであるかどうかを確認するだけで十分です。

<field
    name="baz"
    type="radio"
    class="btn-group btn-group-yesno"
    showon="fooimg!:"
    default=""
    >
    <option value="bazval">JYES</option>
    <option value="">JNO</option>
</field>

このbazフィールドは、fooorbarが空でない場合にのみ表示されますandfooimgは空ではありません。したがって、実際に同じ結果が得られます(実際に取得したかった)。

0
Zollie