0

如何在块内容类型中使用复选框内容类型以及如何从 Sulu-minimal 中的块内容类型中获取复选框的值?

<block name="block_basic_guarantees" default-type="text" minOccurs="0">
<meta>enter code here
<title lang="en">Garanties de base</title> 
</meta> 
<types> 
<type name="Boolean">
<meta>
<title lang="en">Button</title>
<title lang="de">Button</title>
</meta>
<properties>   
<property name="formule-lessentiel" type="checkbox">
<meta>
<title lang="en">Formule L’ESSENTIEL 1</title>
</meta> 
<params>
<param name="type" value="checkbox"/>
</params>
</property>  
<property name="formule-confort" type="checkbox">
<meta>
<title lang="en">Formule CONFORT</title>
</meta> 
<params>
<param name="type" value="checkbox"/>
</params>
</property> 
<property name="formule-letendue" type="checkbox">
<meta>
<title lang="en">Formule L’ETENDUE</title>
</meta> 
<params>
<param name="type" value="checkbox"/>
</params>
</property> 
<property name="formule-surmesure" type="checkbox">
<meta>
<title lang="en">Formule LE SUR-MESURE</title>
</meta> 
<params>
<param name="type" value="checkbox"/>
</params>
</property> 
</properties>
</type> 
</types>
</block>  

我试过这个,

{% set basic_guarantees = content.block_basic_guarantees %} 
{% for guarante in basic_guarantees %}
      {{ guarante.formule-lessentiel }}
      {{ guarante.formule-confort}}
      {{ guarante.formule-letendue }}
      {{ guarante.formule-surmesure }}
{% endfor %}  

如果复选框被选中,我想要结果,true 或 1,否则如果未选中,则为 false 或 0。

4

1 回答 1

1

正如 danrot 提到的,这里的问题是您的属性名称中的破折号。所以如果你写:

{{ guarante.formule-lessentiel }}

它和你写的一样:

{{ guarante.formule - lessentiel }}

要访问带有破折号的变量,您可以执行以下操作:

{{ guarante['formule-lessentiel'] }}

或者

{{ attribute(guarante, 'formule-lessentiel') }}

这非常难看,因此 danrot 建议使用下划线。

于 2019-05-28T11:47:24.890 回答