Как создать URL в шаблонах пакета Symfony при добавлении префиксов ко всем маршрутам, импортированным из пакета? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть пакет Symfony, который определяет контроллер и отображает несколько шаблонов. Маршруты определяются как аннотации внутри пакета routes.yaml.

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

Затем, когда я устанавливаю пакет в приложение, я импортирую все маршруты из пакета 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}) }}
чтобы path мог автоматически определять и использовать префиксы внешнего приложения?

Ответы [ 2 ]

2 голосов
/ 21 мая 2019

назовите свой маршрут уникальными именами, и тогда вы сможете использовать его везде.что-то вроде:

{{ 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) для просмотра названий маршрутов в нужной вам среде.

0 голосов
/ 21 мая 2019

Используйте php bin/console debug:router. Вы должны увидеть там все маршруты.

...