相关疑难解决方法(0)

SonataAdminBundle自定义呈现列表中的文本字段

我正在使用symfony2和SonataAdminBundle.我有一个名为Post的简单实体,其中我的内容字段基本上是html文本(来自记录的ckeditor).我需要在Post列表中将内容字段显示为原始html,而不是转义它.像这样黑客攻击base_list_field模板

{% block field %}{{ value|raw }}{% endblock %}
Run Code Online (Sandbox Code Playgroud)

有效,但显然不是正确的方法.任何提示?

编辑:已解决!我在config.yml中为sonata_doctrine_orm_admin定义了一个自定义html类型:

sonata_doctrine_orm_admin:
    templates:
      types:
        list:
          html: MyBundle:Default:list_html.html.twig
Run Code Online (Sandbox Code Playgroud)

并创建了自定义list_html.html.twig模板,其中我不转义HTML:

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field%}
    {{value|raw}}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

现在,在PostAdmin中,我可以在configureListFields方法中定义字段的行为:

$listMapper
    ->add('content', 'html')
Run Code Online (Sandbox Code Playgroud)

symfony twig sonata-admin

42
推荐指数
1
解决办法
1万
查看次数

标签 统计

sonata-admin ×1

symfony ×1

twig ×1