Symfony2 - ckeditor和sonata媒体包的集成

时间:2014-07-03 15:38:49

标签: symfony ckeditor

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

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

谢谢:)

5 个答案:

答案 0 :(得分:1)

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

$ php app/console debug:router | grep ckeditor

然后,您必须在ivory_ck_editor的配置中(可能在您的admin_sonata_media_media_ckeditor_browser或您的admin_sonata_media_media_ckeditor_upload文件中)使用此命令创建的路由替换config.ymlivory_ckeditor.yml < / p>

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

答案 1 :(得分:1)

问题原因

  

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

事实上,SonataFormatterBundle提出的集成仅适用于SonataAdminBundle,目前无法轻松集成自定义管理包。

  

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

如何解决问题

只需在this installation process之后安装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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

只是添加一些内容。

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

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

 app/cache/dev/appDevUrlGenerator.php

在那里,您将在变量$declaredRoutes

中找到所有路线

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

答案 4 :(得分:0)

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

奏鸣曲变得太复杂了,所以我只是直接使用IvoryCKEditorBundle