Рейтинг:0

Обновление ссылок меню на основе URL-адреса сайта

флаг us

У меня есть URL-адреса, определенные в файле links.menu.yml как «route_parameters: {webform: 'abc'}», но мне нужно обновить значение веб-формы на основе URL-адреса страницы. Если в URL-адресе есть «/type1/», сохраните веб-форму: «abc». ИЛИ ЖЕ Если в URL-адресе есть «/type2/», измените веб-форму на веб-форму: «xyz».

пожалуйста, предложите.

4uk4 avatar
флаг cn
Используйте метод getRouteParameters() в плагине ссылки на меню. См., например, этот учебник https://www.axelerant.com/blog/adding-dynamic-values-menu-links-drupal.
Рейтинг:0
флаг cn

так что нужно иметь hook_form_alter
тогда, если это идентификатор веб-формы, который вам нужен видеть https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Url.php/function/Url%3A%3AgetRouteParameters/9.2.x

/**
 * Реализует hook_form_alter().
 */
function YOURMODUE_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  если ($form_id === 'XXX') {
    $prams = Drupal\Core\Url::getRouteParameters();
    если (!пусто($коляски)) {
      дамп ($ коляски);
      // устанавливаем значение поля здесь/
    }
  }
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.