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