SonataAdminBundle 自定义呈现列表中的文本字段
我正在使用 symfony2 和 SonataAdminBundle。 我有一个名为 Post 的简单实体,其中的内容字段基本上是 html 文本(来自 ckeditor 进行记录)。我需要在帖子列表中将内容字段显示为原始 html,而不转义它。 像这样破解 base_list_field 模板
{% block field %}{{ value|raw }}{% endblock %}
是可行的,但这显然不是正确的方法。
I'm using symfony2 and SonataAdminBundle.
I have a simple Entity called Post in which I have content field that is basically html text (from a ckeditor for the record). I need to display in the Post list the content field as raw html, without escaping it.
Hacking base_list_field template like this
{% block field %}{{ value|raw }}{% endblock %}
works, but it's clearly not the proper way.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
解决方案:
我在 config.yml 中为 sonata_doctrine_orm_admin 定义了一个自定义 html 类型:
并创建了自定义 list_html.html.twig 模板,其中我不转义 HTML:
现在在 PostAdmin 中我可以定义该字段的行为配置列表字段方法:
The solution:
I've defined a custom html type in the config.yml for sonata_doctrine_orm_admin:
And created the custom list_html.html.twig template in which i do not escape HTML:
Now in the PostAdmin I can define the behaviour of the field in the configureListFields method:
我知道这是一篇已接受答案的旧帖子,但现在您还可以使用 safe 选项告诉 Symfony 不要清理输出。
I know it's an old post that has an accepted answer, but now you can also use the safe option to tell Symfony not to sanitize the output.