在 Twig 中呈现控制器 - 意外的"render"标记 - 期望定义的"block"标记的结束标记



在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
                    }
                ))
            }}

相关内容

最新更新