我正在使用Symfony2和Sonata Admin Bundle进行一个项目。 如何在动作configureShowFields中应用twig过滤器(显示格式化文本)?
我不会覆盖Sonata模板......
我的configureShowFields的代码:
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('active')
->add('title')
->add('subtitle') // I need this field with twig RAW filter
->add('description') //I need this field with twig RAW filter
->add('url')
->add('date')
->add('tags')
->add('file');
}
答案 0 :(得分:14)
您可以使用“安全”奏鸣曲字段选项,如下所示:
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('subtitle', null, array('safe' => true))
;
}
它会将“原始”树枝过滤器添加到您的实体字段。
来自base_show_field.html.twig:
{% block field %}
{% if field_description.options.safe %}
{{ value|raw }}
{% else %}
{{ value|nl2br }}
{% endif %}
{% endblock %}
答案 1 :(得分:0)
您需要制作自定义模板。
下:
sonata_doctrine_orm_admin:
templates:
types:
list:
array: SonataAdminBundle:CRUD:list_array.html.twig
*** other existing declarations ***
raw: MyBundle:CRUD:raw.html.twig
然后制作声明映射到的模板,并将'raw'作为添加字段的第二个参数。然后它会调用您的新模板来渲染该字段。