提问人:Eclat 提问时间:7/19/2023 最后编辑:Eclat 更新时间:7/20/2023 访问量:176
在 easyadmin 中以 html 模式详细查看 TextEditorField
View TextEditorField as html in detail modal in easyadmin
问:
我使用EasyAdmin来管理使用Symfony 5创建的网站的后台。
我的一个实体有一个 TextEditorField 类型字段,我将其与表单的 CKEditorType 一起使用。在表单中,我可以正常进行格式设置,但是在显示板中,“查看内容”模式显示原始文本,而不是转换为HTML。
我想保留模态系统以查看更多,是否可以在此模态中看到 HTML 文本?这是我的 crud 中声明的字段
TextEditorField::new('contenu', 'Descriptif')->setFormType(CKEditorType::class)->onlyOnForms(),
TextEditorField::new('contenu', 'Descriptif')->hideOnForm(),
谢谢你的帮助
我尝试使用 TextareaField 类型,因为它可以显示为 html (renderAsHtml),但我的内容太长了,我需要在弹出窗口中看到它,而不是在表格中。
答:
0赞
Eclat
7/20/2023
#1
我终于找到了问题的答案,所以我在结束之前在这里分享。
我在捆绑包中查找了显示详细信息的模板,并通过将“nl2br”替换为“raw”来制作自定义模板。
以下是我创建的文件的路径:templates\bundles\EasyAdminBundle\crud\field\text_editor.html.twig
{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}
{# @var field \EasyCorp\Bundle\EasyAdminBundle\Dto\FieldDto #}
{# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #}
{% if ea.crud.currentAction == 'detail' %}
{{ field.formattedValue|raw }}
{% else %}
{% set html_id = 'ea-text-editor-' ~ field.uniqueId %}
<a href="#" data-bs-toggle="modal" data-bs-target="#{{ html_id }}">
<i class="far fa-file-alt"></i> {{ 'field.text_editor.view_content'|trans([], domain = 'EasyAdminBundle') }}
</a>
<div class="modal fade" id="{{ html_id }}" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">{{ field.label }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ 'action.close'|trans([], domain = 'EasyAdminBundle') }}">
</button>
</div>
<div class="modal-body">
{{ field.formattedValue|raw }}
</div>
</div>
</div>
</div>
{% endif %}
祝你今天开心!
评论