1

我想使用 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)

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

4

2 回答 2

3

下载捆绑包

$ composer require friendsofsymfony/ckeditor-bundle

注册捆绑包

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

return [

 // ...

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

// ...

];

下载CKEditor

一旦你注册了bundle,你需要安装CKEditor:

$ php bin/console ckeditor:install

安装资产

一旦你下载了 CKEditor,你需要将它安装在 web 目录中。

$ php bin/console assets:install public

配置树枝

然后,更新您的 /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',
        //...
    ),
));
于 2021-05-04T08:53:35.687 回答
1

您是否执行了这部分php bin/console ckeditor:install的记录?

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

于 2020-01-23T14:21:55.670 回答