Предоставление значений параметров маршрута меню из URL-адреса

Предположим, что у меня есть следующий маршрут в файле ej.routing.yml:

ej.form.user.profile:
 path: '/user/{user}/ej_profile'
 defaults:
   _title: 'EJ Profile'
   _form: '\Drupal\ej\Form\User\ProfileForm'
 requirements:
   _role: 'authenticated'
   user: \d+

Теперь я хочу добавить меню на основе вышеуказанного маршрута в меню «Сервис». Поэтому я использую следующее в файле ej.links.menu.yml:

ej.user.profile:
  title: 'EJ Profile'
  description: 'EJ Profile'
  route_name: ej.form.user.profile
  menu_name: tools
  weight: 100

Однако это дает мне исключение: Symfony \ Component \ Routing \ Exception \ MissingMandatoryParametersException: Некоторые обязательные параметры отсутствуют («пользователь») для создания URL-адреса для маршрута «ej.form.user.profile».

То же самое работает как запись задачи. В основном у меня есть настраиваемая форма, которая расширяет профиль пользователя для интеграции с сторонней системой, и мне нужен идентификатор пользователя из URL-адреса для получения информации соответствующего пользователя.

Как мне выбрать меню для выбора параметра маршрута из URL?

5 голосов | спросил r_honey 12 MarpmSun, 12 Mar 2017 13:52:52 +03002017-03-12T13:52:52+03:0001 2017, 13:52:52

1 ответ


0

Это может быть не лучшее решение, но вы можете добавить дополнительный маршрут и ссылку на это в меню, этот маршрут будет ссылаться на что-то вроде /admin/ej_profile. Затем через контроллер получите текущую пользовательскую информацию и немедленно перенаправите ее в правильную форму профиля.

ответил sonfd 4 PMpWed, 04 Apr 2018 23:42:56 +030042Wednesday 2018, 23:42:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132