Symfony2 - 表单和 Twig 模板中的整个子实体

2024-05-04

在 Sonata 管理表单中,我想显示与当前对象相关的所有图像。不需要编辑它们。 我设法使用实体字段类型及其属性选项来选择图像 URL 作为标签,以便我可以调用模板中的所有图片:

->add('image', 'entity', array(
    'class' => 'Hop\HopBundle\Entity\Image',
    'property' => 'image_url',
    'query_builder' => function($er) use ($object) {
        return $er->createQueryBuilder('i')
        ->where('i.object = :object')
        ->setParameter('object', $object)
        ;
    },
    'expanded' => true,
))

.

{% for child in form %}
    <img src="{{ child.vars.label }}" alt="{{ child.vars.label }}" />
{% endfor %}

这是因为实体类型似乎只为模板提供标签和一个值。

但我还想获得图像宽度、描述、日期……换句话说:我们如何获得 Twig 模板中每个完整的相关图像对象?

Thanks.


所以我用谷歌搜索了很多,这对我有用(Symfony 2.2)
按照 @flu 在评论中的建议进行了更新

{% for key, child in form %}
<div>
    {% set entity = form.vars.choices[key].data %}
    {{ form_widget(child) }}
    {{ form_label(child) }}
</div>
{% endfor %}

and entity是子对象。 从 Symfony 2.3 开始,只有form.vars.data,如果我理解正确的话:https://github.com/symfony/symfony/pull/5023 https://github.com/symfony/symfony/pull/5023

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony2 - 表单和 Twig 模板中的整个子实体 的相关文章

随机推荐