Как добавить ссылку для входа в меню «Главное меню»?
Когда пользователь нажимает на ссылку, он должен перейти на страницу / user / login. После входа в систему ссылка должна измениться на «Выход» вместо «Вход».
Есть ли способ добавить такую ссылку?
8
navigation
GTS Джо
источник
источник
Ответы:
Нам не нужно зависеть от темы Bootstrap или наших навыков программирования, чтобы перемещать ссылку « Выход из системы » в любом другом меню. Drupal позволяет нам сделать это легко.
Кроме того, мы можем просто создать две пользовательские ссылки « Войдите, пожалуйста, здесь » и « Вывести меня оттуда », соответственно, с путями / user / login и / user / logout . Это лучше, потому что, в отличие от системной ссылки «Выйти», она дает нам возможность создавать столько ссылок входа / выхода, сколько мы хотим с пользовательскими атрибутами. Когда пользователь войдет в систему, он увидит только ссылку « Выйти » и наоборот. Единственное предостережение в том, что вы, вероятно, увидите обе ссылки вместе, потому что вы вошли в систему во время тестирования ссылок. И это нормально, поскольку у вас есть разрешение « Ссылка на любую страницу » в качестве администратора. Отключите это разрешение и попробуйте снова.
источник
1) Редактировать меню и добавить ссылку выхода из системы.
2) Теперь все, что вам нужно сделать, это настроить блок ссылок главного меню
Затем в ролях установите флажок mark Аутентифицированные пользователи, а также ☑ Администратор.
3) Теперь создайте другое Меню (
/admin/structure/menu
), которое имеет ссылку «логин» и все другие необходимые вам ссылки меню.4) Затем перейдите к blocks (
/admin/structure/block
) в основном меню (при условии, что вы используете Bartik, у вас может быть другое имя, если вы используете собственную тему), нажмите кнопку Добавить, добавьте только что созданное меню и настройте его. На этот раз для ролей, только галочка ☑ Анонимисточник
:)
Есть лучший способ сделать это. Что вы хотите сделать, это создать свой собственный плагин и расширить класс MenuLinkDefault. Лучшее место для поиска - модуль Drupal / User, который обеспечивает реализацию LoginLogoutMenuLink.
Вы можете определить свой собственный плагин, если хотите, например, изменить текст или логику. В качестве альтернативы, вы можете просто указать его на существующий плагин, чтобы сэкономить время и просто вставить существующий имплми. Вот пример кода:
Простая версия:
Создайте
my_module/my_module.links.menu.yml
Продвинутая версия:
my_module/src/Plugin/Menu/
папкуnamespace Drupal\my_module\Plugin\Menu;
class LoginLogoutMenuLink extends MenuLinkDefault
наclass MyLoginLogoutMenuLink extends MenuLinkDefault
my_module.links.menu.yml
как указано выше, но убедитесь, что вы называете класс так, как вы его назвали, и указываете его на свой модуль. Смотрите пример ниже.Вы
my_module/src/Plugin/Menu/MyLoginLogoutMenuLink.php
должны выглядеть следующим образом:Вы
my_module/my_module.links.menu.yml
должны выглядеть следующим образом:Я надеюсь, что это помогает кому-то.
источник
Вы можете сделать это с помощью темы Bootstrap 3 Drupal 8, так как эта тема предоставляет эту функцию по умолчанию. Я публикую изображение моего сайта Drupal 8. Один со страницей входа, а другой со страницей выхода.
Вы ищете такие вещи?
Выполните следующие шаги.
1. Перейдите в Структуры> Блоки. И убедитесь, что следующая конфигурация в разделе навигации.
2. Перейдите в Структуры> Меню> Меню учетной записи пользователя и отключите Моя учетная запись, как показано на следующем рисунке.
Итак, в вашем главном меню навигации должны отображаться только вход и выход из системы, как я разместил на первой паре изображений.
источник
Если вы используете подтему Bootstrap, вы можете изменить этот код в соответствии со своими потребностями:
Поместите этот код в page.tpl.php в подтеме / templates / внутри блока, где вам нужно:
Я поставил его после 90-й строки, в этом случае он не сворачивается на мобильном устройстве, если необходимо, чтобы он был сложен после:
источник
Программно, вы можете сделать это через файл вашего собственного модуля
.links.menu.yml
. Следующие ссылки размещают в главном меню:Поскольку "имя_путешествия", которое вызывает каждый из них, уже указывает требование входа / выхода (см. Https://api.drupal.org/api/drupal/core%21modules%21user%21user.routing.yml/8.4.x ), ссылки будут отображаться в зависимости от статуса входа.
источник