Код добавляет необходимые атрибуты ссылке "Login" в "User account menu", чтобы форма входа открывалась в jQuery UI Dialog.
/**
* Preprocess function for menu--account.html.twig.
*/
function THEMENAME_preprocess_menu__account(&$vars) {
if (\Drupal::currentUser()->isAnonymous()) {
$login_link_url = $vars['items']['user.logout']['url']; /** @var Url $login_link_url */
$login_link_url->mergeOptions([
'attributes' => [
'class' => ['use-ajax'],
'data-dialog-type' => 'modal',
],
]);
$vars['#attached']['library'][] = 'core/drupal.ajax';
}
}
Написанное актуально для
Drupal 8
Похожие записи
- Показать второй шаг многошаговой формы в модальном окне
- Открыть страницу или форму в диалоговом окне
- Показать в jQuery UI Dialog результат отправки формы
- Навесить на элемент managed_file свой ajax callback (Как обновить всю форму при загрузки файла в managed_file)
- Восстанавливаем позицию текстового курсора при ajax обновлении формы
Комментарии
Ошибка в id пункта меню, сейчас атрибуты добавляются ссылке "Log out".
Это динамический роут, для анонимов это ссылка входа, для авторизованных ссылка выхода.
Добавить комментарий