Sonata News Bundle - 添加 CKEditor
Posted
技术标签:
【中文标题】Sonata News Bundle - 添加 CKEditor【英文标题】:Sonata News Bundle - Add CKEditor 【发布时间】:2018-01-12 03:29:50 【问题描述】:我是 Symfony 的初学者,我正在尝试为 Sonata News Bundle 设置 CKEditor。
我到处寻找(甚至在德语论坛上,而我不会说德语!)但我在任何地方都找不到任何答案。
有人对我的问题有线索或解决方案吗?
谢谢大家。
路易
【问题讨论】:
【参考方案1】:我建议你使用IvoryCKEditorBundle
下载捆绑包:
composer require egeloen/ckeditor-bundle
注册Bundle,然后更新你的app/AppKernel.php
class AppKernel extends Kernel
public function registerBundles()
$bundles = array(
new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
// ...
);
// ...
如果您使用的是 Symfony
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
【讨论】:
【参考方案2】:我这样做的方式(symfony:4.3.5,奏鸣曲:3.54.1)。
下载 ckeditor JS 库并将其放在 public/js
中,即您应该拥有该文件:
your_app/public/js/ckeditor/ckeditor.js
在该文件目录旁边:adapters
、lang
、plugins
和 skins
以及一些 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
然后,当您从奏鸣曲管理包中添加新字段时,在 configureFormFields 中您的 ckeditor 字段应如下所示:
->add('field_name', null, array('attr'=> array('class' => 'ckeditor')))
重要的部分是添加具有类属性的属性数组。 清除缓存,CKEditor 现在应该可以工作了。
【讨论】:
以上是关于Sonata News Bundle - 添加 CKEditor的主要内容,如果未能解决你的问题,请参考以下文章
集成 Sonata Media Bundle(媒体实体)和 Sonata Classiffication Bundle(标签实体)
是否可以在 Sonata Admin Bundle 中添加可翻译的关联?
Symfony Sonata Media Bundle 向用户添加图像/视频
在sonata admin Bundle的List视图中添加新Button