显示多个值在一个单一的字段在小枝



我是Symfony2和Twig的新手。我想在一个字段中显示多个值。在我的表单中,我有一个字段'multiple enabled'。

 ->add('name','choice', array(
        'expanded' => true,
        'multiple' => true,
        'label' => 'Job Done',
        'choices' => array('Wax' => 'Wax', 'Carwash' => 'Carwash','Interior Detailing' =>     'Interior Detailing', 'Exterior Detailing' =>'Exterior Detailing',
        'Full Detailing' => 'Full Detailing', 'Engine Wash' => 'Engine Wash', 'Engine Detailing' => 'Engine Detailing',
        )))
通过这个设置,我可以成功地将其保存在MYSQL数据库中。但是在Twig,(index.html.twig)中,会弹出一个错误" Notice:数组到字符串的转换"。
{% for entity in entities %}
 <td>{{ entity.name }}</td>
 {% endfor %}

但是如果我改成

{% for entity in entities %}
<td>{{ entity.name[0] }}</td>
{% endfor %}

只显示一个值。我想显示该字段的所有值。

在我的index.html。小枝,所有id都存储了多个值。因为我选择了多个值。但是每个id只显示一个值。

对如何实现这一点有什么想法吗?

将数组显示为字符串(如PHP函数implode所做的):

{% for entity in entities %}
    <td>{{ entity.name|join(', ') }}</td>
{% endfor %}

文档如下:http://twig.sensiolabs.org/doc/filters/join.html

在您得到的错误消息中可以看到,启用了multiple选项的选择字段将返回一个数组。因此,要在Twig中显示它,您需要像对待任何其他数组一样对待它。下面的代码应该可以工作:

{% for entity in entities %}
    {% for name in entity.name %}
        <td>{{ name }}</td>
    {% endfor %}
{% endfor %}

这是在树枝文件上打印多值字段的另一种方法。

      {% for genre in node.field_genre %}{{ genre.entity.name.value|join(' ') }}{% endfor %}

相关内容

最新更新