Phalcon Volt check_field 带有 if else 语句进行检查

Phalcon Volt check_field with if else statement for checked

我试图在 Volt 中构建一个复选框:

<input type="checkbox" class="myClass" data-size="small" data-type="{{ type.getType() }}">

所以现在我通常会这样写

{{ check_field( 'class':'my class', 'data-size':'small', 'data-model-pk': ''~ AclGroup.id_group ) }}'

但是我想做这样的事情:

<input type="checkbox" class="myClass" {% if AclGroup.flg_active == 1 %} checked="" {% endif %} data-size="small" data-type="{{ type.getType() }}">

但是我不知道如何在里面做一个声明{{ }}

我尝试突破 {{ }}{% %}{{ }} 和一堆其他东西,但我找不到任何涵盖它的文档,而且我尝试过的任何东西都不起作用。有什么想法吗?

您始终可以保留它,就像您在示例中给出的那样 - Volt 有时只是产生 Html 毕竟的好方法。

但是,我会这样做

{% if AclGroup.flg_acive == 1 %}
    {{ check_field( 'class':'my class', 'checked': "", 'data-size':'small', 'data-type': type.getType() ) }}
{% else %}
    {{ check_field( 'class':'my class', 'data-size':'small', 'data-type': type.getType() ) }}
{% endif %}

无法在 echo - {{...}} 中使用 if 语句 - 我知道,所以你需要有 2 个回声并使用和 if-else 代替。

一行代码:

{{ check_field( 'class':'my class', 'data-size':'small', 'data-model-pk':  AclGroup.id_group, 'checked':(AclGroup.flg_acive == 1 ? true : null) ) }}'

这也行得通,有趣的是:

{{ check_field( 'class':'my class', 'data-size':'small', 'data-model-pk':  AclGroup.id_group, 'checked':(AclGroup.flg_acive == 1 ? false : null) ) }}'

不过我觉得第一个更符合逻辑。