如何在Symfony捆绑包的模板中生成URL时,为所有从捆绑包路由导入的前缀?



我有一个符号束,该捆绑包定义控制器并呈现一些模板。路线被定义为捆绑routes.yaml中的注释。

  * @Route("/edit/{id}", name="edit")
  * @Route("/new", name="new", defaults={"id" : null})

然后,当我将捆绑包安装到应用程序中时,我将带有前缀的Bundle routing.yaml的所有路由。这样:

admin_blog_controller:
    resource: '@BlogBundle/Resources/config/admin_routes.yaml'
    prefix: /admin/blog2
    name_prefix: admin.blog2.

现在我有捆绑模板我需要生成带有未知前缀的URL。
(因为前缀是在捆绑包外定义的(。
我需要生成这样的路线:
{{ path('new') }}{{ path('edit, {"id": blogId}) }}
但是找不到路线。

有没有一种方法可以在捆绑模板内生成URL?

{{ path('@Bundle/new') }}{{ path('@Bundle/edit, {"id": blogId}) }}
因此,路径可以自动检测和使用Outter App的前缀?

命名您的路由唯一名称,然后您可以在任何地方使用它。类似:

{{ path('acmeBundle_controllerName_actionName', {'id': Variable.id}) }}

您可以使用 php bin/console debug:router --env=dev(Symfony 3(或php app/console debug:router --env=prod(Symfony 2(在所需的环境中查看您的路线名称。

使用php bin/console debug:router。您应该看到所有路线。

最新更新