在Symfony2中,至少在Symfony 2.4之前,可以在trick 中呈现这样的控制器
{% render(controller("MyBundle:Default:method", { 'call' : 'action' })) %}
对于Symfony 3,这会引发异常
Unexpected "render" tag (expecting closing tag for the "block" tag defined
我花了一些时间来寻找解决方案,但它很简单,所以我将与您分享。也许它可以节省一些人的时间
{{ render(controller("MyBundle:Default:method", { 'call' : 'action' })) }}
很简单,不是吗?
在使用sonata捆绑包时也会出现这种情况
错误分支
{% render url('sonata_admin_short_object_information', {
'code': sonata_admin.field_description.associationadmin.code,
'objectId': sonata_admin.field_description.associationadmin.id(sonata_admin.value),
'uniqid': sonata_admin.field_description.associationadmin.uniqid
}
)%}
我尝试过的解决方案:
{{ render(url('route_name', {'param': value})) }}
工作示例
{{render(url
('sonata_admin_short_object_information',
{
'code': sonata_admin.field_description.associationadmin.code,
'objectId': sonata_admin.field_description.associationadmin.id(sonata_admin.value),
'uniqid': sonata_admin.field_description.associationadmin.uniqid
}
))
}}