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

标签 symfony twig sonata-admin

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

{% block field %}{{ value|raw }}{% endblock %}

可行,但显然不是正确的方法。

最佳答案

解决办法:

我在 config.yml 中为 sonata_doctrine_orm_admin 定义了自定义 html 类型:

sonata_doctrine_orm_admin:
    templates:
      types:
        list:
          html: MyBundle:Default:list_html.html.twig

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

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

{% block field%}
    {{value|raw}}
{% endblock %}

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

$listMapper
    ->add('content', 'html')

关于symfony - SonataAdminBundle 自定义呈现列表中的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729439/

相关文章:

php - 如何在 Symfony 中格式化 JSON 输出

php - Symfony Twig 错误 : Unknown "^macro_name^" function. 您的意思是 "^similar_function_name^"吗?

Symfony/Twig 在 if 条件下设置变量

symfony - 面包屑上的奏鸣曲管理标签

symfony - 如何调用 Setter 注入(inject)类型

symfony - 使用多个实体管理器解析目标实体

symfony - sonata admin 一对多和多对多形式

php - Symfony2 - Sonata adminbundle 菜单不会显示

Symfony2 将第 3 方 bundle 添加到服务 Controller

php - Twig:打印变量名为 String 的变量的值