[英]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_browser
和admin_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.