Twig: выяснить, нахожусь ли я в подчиненном канале основного маршрута - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь исключить меню, если я нахожусь в подчиненном канале основного маршрута.

Так, например, это:

if route is /backend/* then exclude
else if route is /backend/admin/* don't exlude
else if route is /backend/admin/create then exclude

Есть ли способ достичь этого с помощью нескольких строк кода?

1 Ответ

2 голосов
/ 20 марта 2012

Чтобы получить текущий путь в ветке, вы можете использовать app.request.pathinfo.

Edit:

Если вы хотите получить название маршрута для текущего URL, вы можете сделать это следующим образом.

Добавить Router объект в качестве глобальной переменной шаблона.

#In app/config.yml
#.......

# Twig Configuration
twig:
    globals:
      router: @router

А потом в вашем шаблоне

{% set route_info = router.match(app.request.pathinfo) %}
{% set route_name = route_info._router %}

Затем вы можете включить / исключить свой шаблон на основе имени маршрута.

Редактировать снова

Название маршрута можно найти гораздо проще.

{{ app.request.attributes.get('_route') }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...