如何将CKEditor添加到Sonata Admin后端的textareas

eni*_*gma 3 textarea ckeditor symfony sonata-admin

我想将CKEditor添加到Sonata Admin后端.现在我只运行Create Bundle,它允许我内联编辑内容,但我也想在后端使用编辑器.我尝试过Formatter Widget,但它有点过大,因为我不想在我的实体中创建新的字段.

有没有人这样做过?

ziz*_*jab 8

在您的页面中包含ckeditor脚本并将ckeditor 类添加到您的textarea,就是这样.

示例:在您的表单类型中:

$builder->add('description', 'textarea', array('attr' => array('class' => 'ckeditor')))
Run Code Online (Sandbox Code Playgroud)

在你的树枝上:

   <script src="{{ asset('js/ckeditor.js') }}"></script>
     .
     .
     .
    {{form(form)}}
Run Code Online (Sandbox Code Playgroud)


eni*_*gma 8

zizoujab的解决方案是完全正确的,所以我赞成它.但是,正如我的问题提到了SonataAdminBundle,还需要做更多的事情.这就是我给出这个额外答案的原因.

我通过覆盖SonataAdminBundle:CRUD:edit.html.twig自定义包来解决这个问题:

{% extends 'SonataAdminBundle:CRUD:base_edit.html.twig' %}

{% block javascripts %}
{{ parent() }}
<script src="{{ asset('js/ckeditor/adapter/jquery.js') }}" type="text/javascript"></script>
    <script src="{{ asset('js/ckeditor/ckeditor.js') }}" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
            $('textarea.ckeditor').ckeditor();
        });
    </script>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

我也有问题,因为我使用的ckeditor版本,这不起作用.我无法使用CmfCreateBundle安装的那个.这产生了一些js错误,<textarea>标签消失了.所以我不得不从ckeditor.com下载"标准"版本,该版本有效.


pom*_*axa 5

如果你想要一些WYSIWYG编辑器,并且可以使用NOT CKEditor,那么我建议你看看一个sonata-formatter-bundle