«Показывать блок на определенных страницах» можно ли использовать токены drupal?

#drupal #token

#drupal #токен

Вопрос:

Я хочу ограничить блок только тем, что он находится на странице учетной записи пользователя. В разделе «Показывать блок на определенных страницах» я использовал users / [user-name] (не сработало), затем я попробовал users / [user-id] (не сработало).

Разрешены ли здесь токены? Есть ли способ сделать это?

TIA

Ответ №1:

Вы можете использовать PHP для получения желаемого результата. Я не знаю, разрешены ли здесь токены. Если у вас включен фильтр PHP, вы можете использовать следующее:

 <?php
global $user;
if (arg(0) == 'user' amp;amp; $user->uid == arg(1)){
    return True;
}else{
    return False;
}
?>
  

Получите текущего пользователя с помощью глобального $user, чем получите аргументы url с помощью arg() :

Первым аргументом должен быть «user», так arg(0) == 'user' что .

Вторым должен быть текущий пользовательский uid, так arg(1) == $user->uid что .

Все остальное возвращает false.

Надеюсь, это поможет.

Ответ №2:

Попробуйте использовать подстановочный знак * вместо токена. Итак, вы бы:

 users/*
  

Комментарии:

1. Это не дает мне желаемого эффекта. Я хочу показать страницу только для текущего зарегистрированного пользователя.

2. Обновление Я хочу отображать «блок» только для текущего пользователя.

3. @Jim: вы имеете в виду, что содержимое блока должно отличаться в зависимости от пользователя? Поскольку «текущим пользователем» технически может быть любой аутентифицированный пользователь, в этом случае вы можете установить блок по ролям (аутентифицированный пользователь), а не по пути.

4. Не совсем. При просмотре страницы вашей собственной учетной записи я хочу, чтобы это отображалось вместе с вашей информацией. Если кто-то другой просматривает вашу домашнюю страницу, я не хочу, чтобы она отображалась вообще.