首页 > 解决方案 > CKEditor 与 Symfony 的集成不起作用

问题描述

我目前正在用 Symfony 为一个项目建立一个网站,因为上面会有文章,所见即所得的编辑器似乎是最好的选择。我首先尝试了一些编辑器,然后意识到 CKEditor 可以在 Symfony 中使用。我安装了它,它工作了一段时间,但在仍然隐藏文本区域的同时停止显示(下面的截图)。

我试图解决它但失败了,所以我暂时忽略了这个问题,处理了其他事情,最后遇到了 Easy admin bundle,它解决了我的很多问题。最后我用 Easy Admin 尝试了 CKEditor,但仍然没有,如果有帮助的话,这段代码会嵌入到页面中。

我查看了很多 git 问题,但没有人遇到同样的问题,您知道如何解决吗?

easy_admin.yaml
easy_admin:
 design:
   form_theme: # Both themes are needed for ckeditor integration
     - "@EasyAdmin/form/bootstrap_4.html.twig"
     - "@FOSCKEditor/Form/ckeditor_widget.html.twig"

 Article:
   class: App\Entity\Article
     form:
       fields:
         - title
         - { property: 'pictureFile', type: 'vich_image' }
         - { property: 'content', type: 'fos_ckeditor'}

如果需要我这边的任何其他信息,请不要犹豫

标签: javascriptsymfonyckeditorwysiwygeasyadmin

解决方案


在 crudController 中添加以下代码,您想在 Easy admin 中显示 ckeditor

public function configureCrud(Crud $crud): Crud
{
    return $crud->addFormTheme('@FOSCKEditor/Form/ckeditor_widget.html.twig');
}

然后在下面的行中使用它应该与 Easyamin3 和 Symfony5 一起正常工作的字段,我自己测试过,效果很好

TextareaField::new('content')->setFormType(CKEditorType::class),

推荐阅读