Drupal 7: как отобразить значение настраиваемого поля в моем блоке - PullRequest
0 голосов
/ 15 января 2012

Мастера друпалов, я ищу твоей мудрости.

  1. У меня есть блок Twitter, и это код блока Twitter с жестко закодированным именем пользователя.

    }).render().setUser('kathylynn').start();
    
  2. Проблема, с которой я столкнулся, заключается в том, что мне бы хотелось, чтобы имя пользователя было извлечено из моего профиля пользователя, где пользователь уже сохранил свою учетную запись Twitter в текстовом поле, которое я создал в профиле.,

Я искал в сети уже несколько дней и, похоже, не могу найти правильный код, чтобы заставить его работать, поскольку я хотел бы заменить "kathylynn" навошедшие в систему пользователи сохранили твиттер-аккаунт из текстового поля под профилем пользователя.Пожалуйста помоги.

Ответы [ 2 ]

0 голосов
/ 15 января 2012

Предполагая, что вы добавляете этот код непосредственно в тело пользовательского блока, просто измените фильтр на тип PHP code и используйте следующее:

global $user;

// Get a fully loaded user object
$account = user_load($user->uid);

// Grab the twitter username from the field
$twitter_username = $account->field_name_of_twitter_field[$account->language][0]['value'];

// Print your (presumably javascript) code
print "...}).render().setUser('" . $twitter_username . "').start();";
0 голосов
/ 15 января 2012

Используйте модуль просмотров.

Создание пользовательского представления в виде блока.В представлении создайте контекстный фильтр на основе идентификатора пользователя.Укажите аргумент по умолчанию для идентификатора входа для текущего пользователя.Перепишите это поле в

}).render().setUser('[field_twittername]').start();

Я сделал это из памяти, поэтому, если это не сработает, дайте мне знать.

...