Sonata News Bundle - 添加CKEditor

时间:2017-08-04 09:05:57

标签: php symfony ckeditor symfony-sonata sonata

我是Symfony的初学者,我正在尝试为Sonata新闻套装设置CKEditor。

我到处寻找(即使在德国论坛上,我也不会说德语!)但我无法在任何地方找到任何答案。

有人对我的问题有线索或解决方案吗?

谢谢大家。

路易斯

2 个答案:

答案 0 :(得分:2)

我建议您使用IvoryCKEditorBundle

下载Bundle:

composer require egeloen/ckeditor-bundle

注册Bundle,然后,更新你的app / AppKernel.php

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
            // ...
        );

        // ...
    }
}

如果您使用的是Symfony< = 2.8:

php app/console ckeditor:install
php app/console assets:install web

如果您使用的是Symfony> = 3.0:

php bin/console ckeditor:install
php bin/console assets:install web

然后usage

答案 1 :(得分:0)

我的操作方式(符号:4.3.5,奏鸣曲:3.54.1)。

下载ckeditor JS库并将其放在public/js内,即,您应该拥有以下文件:

your_app/public/js/ckeditor/ckeditor.js

以及该文件目录旁边:adapterslangpluginsskins以及一些js / css / md文件。

然后使用以下命令覆盖基本奏鸣曲编辑模板:

{% extends '@SonataAdmin/CRUD/base_edit.html.twig' %}

{% block javascripts %}
    <script src="{{ asset('js/ckeditor/ckeditor.js') }}" type="text/javascript"></script>
    {{ parent() }}
{% endblock %}

此代码将在您的页面中包含ckeditor,应放置在your_app/templates/edit.html.twig

然后,添加到“模板”部分edit:edit.html.twig中,以便使用您创建的模板:

sonata_admin:
    title: 'Your app Admin'
    dashboard:
        blocks:
            - { type: sonata.admin.block.admin_list, position: left }
    templates:
        edit: edit.html.twig

这是文件:your_app/config/packages/sonata_admin.yaml

然后,当您从Sonata管理员捆绑包中添加新字段时,在configureFormFields内部,您的ckeditor字段应如下所示:

->add('field_name', null, array('attr'=> array('class' => 'ckeditor')))

重要的部分是添加具有类属性的属性数组。 清除缓存,CKEditor应该可以正常工作了。