[英]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.