Как изменить "меню пользователя" на текущее имя пользователя


Я ищу способ изменить метку "меню пользователя" на имя текущего пользователя. Я использую тему Drupal 7 по умолчанию, Бартик, если это имеет какое-то значение.

 1
Author: Keith, 2013-01-07

3 answers

Вы могли бы сделать это с помощью hook_preprocess_block

Например, в template.php

function MYTHEME_preprocess_block(&$vars){

  global $user;
  $block =& $vars['block'];

  if ($block->module == 'system' && $block->delta == 'user-menu') {
    if (user_is_logged_in()) {
      $block->subject = check_plain($user->name);
    }
  }

}

Очистите кэш реестра тем после добавления новой функции предварительной обработки.

 7
Author: David Thomas, 2013-01-08 00:30:39

Для этого можно использовать модуль Маркер меню вместе с модулем Маркер.

Модуль токенов меню предоставляет токены, которые можно использовать в заголовке или в пути к пунктам меню (ссылкам).

Подробную пошаговую процедуру для достижения варианта использования можно найти в ответе здесь.

 1
Author: AjitS, 2017-04-13 12:47:02

Нет необходимости в маркере меню; если у вас включен модуль маркера, просто установите заголовок блока пользовательского меню на [current-user:name]

 1
Author: user24900, 2014-01-02 18:30:15