如何在 symfony 5 上安装 Ckeditor?

how to install Ckeditor on symfony 5?

我想使用 symfony5 在我的 symfony 项目上安装 CKeditor

我尝试执行本教程,但我没有管理某些部分。 : https://symfony.com/doc/current/bundles/FOSCKEditorBundle/installation.html

1/ 我成功地执行了这个命令:

composer require friendsofsymfony/ckeditor-bundle

2/ 我没有执行注册捆绑包部分,因为它已经在我的 config/bundles.php 中(所以我假设文档不是最新的)

3/ 我将此添加到我的 fileType.php

use FOS\CKEditorBundle\Form\Type\CKEditorType;

class PropertyType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
->add('description', CKEditorType::class)

我的树枝文件落后了,但描述字段中没有任何内容,仍然是经典的文本区域

<div class="col-lg-9">
    {{ form_widget(form.description) }}
</div>

呈现的模板在源代码中显示:

<div class="col-lg-9">
     <textarea id="property_description" name="property[description]" required="required"></textarea>
<script type="text/javascript">
            var CKEDITOR_BASEPATH = "/bundles/fosckeditor/";
</script>
<script type="text/javascript" src="/bundles/fosckeditor/ckeditor.js"></script>
<script type="text/javascript">
        if (CKEDITOR.instances["property_description"]) { CKEDITOR.instances["property_description"].destroy(true); delete CKEDITOR.instances["property_description"]; }
        CKEDITOR.replace("property_description", {"language":"en"});
</script>

我在 chrome 控制台中有这个:

> Failed to load resource: the server responded with a status of 404
> (Not Found) new:95 Uncaught ReferenceError: CKEDITOR is not defined
>     at new:95 :8000/favicon.ico:1 Failed to load resource: the server responded with a status of 404 (Not Found)

感谢大家,我对这个有点迷茫...

您执行 php bin/console ckeditor:install 记录的 on this part 了吗?

404 问题可能来自 ckeditor.js 未找到,因此预计会因 CKEDITOR is not defined 而失败。 您可以阅读 the ckeditor install symfony command 的文档以获取更多信息。

下载捆绑包

$ composer require friendsofsymfony/ckeditor-bundle

注册捆绑包

然后,更新您的 config/bundles.php:

return [

 // ...

FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true],

// ...

];

下载CKEditor

注册包后,您需要安装 CKEditor:

$ php bin/console ckeditor:install

安装资产

一旦您下载了CKEditor,您需要将其安装到web目录中。

$ php bin/console assets:install public

配置 Twig

然后,更新您的 /config/packages/twig.yaml

twig:
    // ...
    form_themes:
        - '@FOSCKEditor/Form/ckeditor_widget.html.twig'
    // ...

用法

use FOS\CKEditorBundle\Form\Type\CKEditorType;

$builder->add('field', CKEditorType::class, array(
    'config' => array(
        'uiColor' => '#ffffff',
        //...
    ),
));