Php Twig:如何在symfony 2中获取表单模型对象?
我已经创建了一个新的FormType,它有一个从视图->规范->模型和返回的值转换,所有的工作都很好!但在我的FormType模板中,我需要模型对象,因此我尝试以下方法:Php Twig:如何在symfony 2中获取表单模型对象?,php,symfony,twig,Php,Symfony,Twig,我已经创建了一个新的FormType,它有一个从视图->规范->模型和返回的值转换,所有的工作都很好!但在我的FormType模板中,我需要模型对象,因此我尝试以下方法: {% set media = form.vars.data %} 但这个对象是规范表示,而不是模型。当然,我可以使用norm.model_属性来获取我的模型,但是我认为模型已经在表单对象中的特定字段中了?如何通过表单对象直接访问模型?或者我应该自己将其传递到模板中 $builder->addEventListener(
{% set media = form.vars.data %}
但这个对象是规范表示,而不是模型。当然,我可以使用norm.model_属性来获取我的模型,但是我认为模型已经在表单对象中的特定字段中了?如何通过表单对象直接访问模型?或者我应该自己将其传递到模板中
$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
$media = $event->getData();
// "$media" is already my model object, how
// can i pass this object to the twig template ?
});
格里兹和泰克斯,
天空…我甚至不知道我是否理解你的问题,你想做什么?您正在尝试呈现表单字段还是什么?是的,我创建了一个新的表单类型,并尝试使用自定义模板呈现它。问题是,如何直接得到模型对象?注意,我有一个模型和一个视图转换器:视图->标准->模型->标准->视图。。。但是如果我试图通过{%set media=form.vars.data%}获取数据,我只会得到norm对象。。。所以我想直接创建模型对象?想知道为什么要在视图中添加模型对象。如果您有任何类型的逻辑,请不要将其放入视图/模板中。您是否考虑过创建表单类型扩展?我知道,这有点混乱,但我的表单类型有两个元素:文件和复选框。。。一个文件类型需要一个文件对象,但我的模型中没有这个,所以我必须输入null,顺便说一句,填充一个文件类型是没有意义的。。。