繁体   English   中英

在表单构建器中访问表单数据以添加定制属性

[英]Access form data in form builder to add custom attribute

我正在创建表单女巫具有收集类型,并且收集元素具有带有数据转换器的字段,女巫的ID为实体转换器:

$builder->add(
        $builder->create('template', 'text', array(
            'label' => false,
            'required' => false,
            'attr' => array(
                'class' => 'template-selector',
            )
        ))->addModelTransformer($transformer)
    );

这是必需的,因为我想将此字段转换为Select2(javascript lib)ajax支持的元素。

问题是我需要用数据填充Select2,要做到这一点,我只有一个合理的(出于性能考虑)选项将来自表单构建器的数据作为属性传递(例如说数据值),但是表单构建器具有任何数据,除非我在EventListener,但是我不能添加模型转换器。

我如何实现这种功能? 没有任何其他查询或ajax调用?

我发现在树枝模板中执行此操作的唯一方法:

{% if item.get('value').template %}
    {% set templ_id = item.get('value').template.getId %}
    {% set templ_text = item.get('value').template.getTitle %}

    {{ form_row(item.template, {'attr': {'data-value' : '{id:' ~ templ_id ~ ', text:"' ~ templ_text ~ '"}'}}) }}
{% else %}
    {{ form_row(item.template) }}
{% endif %}

其中项目是表单收集元素

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM