繁体   English   中英

Symfony2 - ckeditor和sonata媒体包的集成

[英]Symfony2 - integration of ckeditor and sonata media bundle

我正在尝试将IvoryCKEditor与sonata媒体包整合在一起。 Perpose是允许在ckeditor中上传图片。 我尝试使用CoopTilleulsCKEditorSonataMediaBundle,但我一直收到错误:

在呈现模板期间抛出异常(“无法生成指定路由的URL”admin_sonata_media_media_ckeditor_browser“因为此类路由不存在。”)在“IvoryCKEditorBundle:Form:ckeditor_widget.html.twig”中。

谢谢 :)

1)安装SonataFormatterBundle 2)在AppKernel中添加bundle及其依赖项3)配置文件4)CLEAR CACHE 5)roll

您应该使用以下命令检查路线:

$ php app/console debug:router | grep ckeditor

然后你必须在admin_sonata_media_media_ckeditor_browser的配置中(可能在你的config.yml或你的ivory_ckeditor.yml文件中)用这个命令建立的路由替换admin_sonata_media_media_ckeditor_browseradmin_sonata_media_media_ckeditor_upload

如果您没有ckeditor的路由,我认为您应该检查是否正确安装了捆绑包。

问题的原因

尝试在不使用SonataAdminBundle的情况下通过SonataFormatterBundle集成CKEditor时会出现此问题。

事实上,SonataFormatterBundle提出的集成仅适用于SonataAdminBundle,目前还没有针对自定义管理包的轻松集成。

请注意,此刻文档中未指定此依赖关系。

如何解决问题

只需按照此安装过程安装SonataAdminBundle即可。 需要完全配置包的文档中指定。 要添加缺少的路由,例如admin_sonata_media_media_ckeditor_browser ,只需将以下内容添加到config/routes.yml

# This is your custom admin bundle
admin:
    resource: "@AdminBundle/Controller/"
    type:     annotation
    prefix:   /admin/

# Import SonataAdminBundle routes
admin_area:
    resource: "@SonataAdminBundle/Resources/config/routing/sonata_admin.xml"
    prefix: /admin/sonata # put whatever prefix here

_sonata_admin:
    resource:   .
    type:       sonata_admin
    prefix:     /admin

只是添加一些东西。

如果您确定已经安装了所有依赖项,并且正确设置了所有配置,并且仍然出现此错误,那么原因可能是您已经在routing.yml中以不同方式定义了“sonata_media”前缀。

您可以在以下位置检查项目中的所有网址:

 app/cache/dev/appDevUrlGenerator.php

在那里,您将在变量$declaredRoutes找到所有路由

然后简单地输入正确的路线名称进行浏览。

没有SonataMediaBundle它将无法运行 - 您需要使用SonataFormatterBundle安装它

索纳塔对我来说太复杂了,所以我直接使用IvoryCKEditorBundle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM