【问题标题】:Symfony2 Vendors bundle routeSymfony2 供应商捆绑路由
【发布时间】:2013-03-02 10:08:00
【问题描述】:

我制作了一个包,应该提供简单的“拖放文件”样式上传。问题是,当我在 symfony2 项目中安装包时,我需要提供到我的页面的上传文件路径。

删除上传包路由:

pi_flex_drop_uploader_receiver:
    pattern: /drop_upload
    defaults: { _controller: PIFlexDropUploaderBundle:Upload:upload }

但是,在我的项目中应该使用捆绑包:

树枝模板片段:

$('textarea').dropLoad({
    uploadScript: "{{ path('pi_flex_drop_uploader_receiver') }}",

    onFileUploadEnd: function(value, data) {
        console.log(data.data.url);
    }
});

抛出异常:

在第 15 行的 PIFlexBlogBu​​ndle:Page:admin_article.html.twig 中呈现模板(“路由“pi_flex_drop_uploader_receiver”不存在。”)期间引发了异常。

为什么会这样?我是否具有跨捆绑路由访问权限?一个包中的模板可以访问其他包的路由吗?我该如何解决这个问题?

【问题讨论】:

  • 是的,bundle 可以看到其他 bundle 路由。当您从项目根目录运行 php app/console router:debug 时,您能看到您的路线吗?
  • 我刚刚检查过,不,我不能,来自该捆绑包的路由根本不可见。我刚刚安装了 bundle 并将其添加到 AppKernel.php。我还需要做些什么吗?我需要在我的应用中手动包含它的路由吗?
  • 好的,感谢您的 router:debug 建议,我想我需要在我的应用程序中手动导入该捆绑包的路由。我假设它会自动为 AppKernel 中的所有包执行此操作!
  • 将其添加为答案并接受

标签: symfony routing


【解决方案1】:

感谢@Jaitsu 的评论,我发现仅仅将bundle 添加到AppKernel 是不够的。我必须在全局 symfony 应用程序路由文件中导入它的路由。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2023-03-07
    • 2012-12-19
    • 2014-05-20
    • 1970-01-01
    • 2015-01-12
    相关资源
    最近更新 更多