Проблема в выводом полей из профиля автора в блок [РЕШЕНО]

Главные вкладки

Аватар пользователя CriZ CriZ 24 июня 2012 в 12:02

Добрый всем день. Делаю сейчас блок с выводом информации из профиля автора в созданную им ноду. Думал, что все уже сделал, но возникла проблема: вместо полей автора показываются поля зарегистрированного пользователя, который просматривает эту ноду. Вот код одного из полей, которое требуется вывести:

<?php print $user->profile_sottel; ?>

Знаю, что надо как то прописать правило, которое будет вычислять автора ноды, перерыл и Drupal.ru и Drupal.org, но коды, предлагаемые там приводят или к ошибкам или к нулевому результату. Может кто знает, что мне надо прописать, чтобы выводились поля профиля автора ноды в блоке.

Комментарии

Аватар пользователя Shok211 Shok211 24 июня 2012 в 12:29



Пишу на память. Придут знающие подправят

/*
  1. Загружаем активный объект node
  2. Загружаем автора node
  3. Выводим нужное поле. "Примечание: Не уверен в правильности вывода поля"
 */

$uid = menu_get_object()->uid;
$usr = user_load($uid);
$fld = $usr->profile_sottel; # Сомневаюсь что вы правильно написали вывод поля
                             # Что бы просмотреть массив, расскоментируйте ниже
/*
print_r("<pre style='margin: 10px; padding:10px; border: 1px solid black;'>".htmlspecialchars(print_r($usr, TRUE))."</pre>");
*/

print $fld;

Аватар пользователя CriZ CriZ 24 июня 2012 в 12:43

"Shok211" wrote:
Shok211 в вс, 24/06/2012 - 12:29.

Пишу на память. Придут знающие подправят


Спасибо за помощь. Массив то вывелся, а вот отдельное поле нет. Вот этот код $uid = menu_get_object()->uid;
$usr = user_load($uid);
$fld = $usr->profile_sottel; куда вставить: прямо после <?php ?

Аватар пользователя Shok211 Shok211 24 июня 2012 в 12:51

Я уже высказал предположение о том что вы не правильно пытаетесь достать поле. Опубликуйте содержимое массива мб что и подскажут

Аватар пользователя CriZ CriZ 24 июня 2012 в 13:06

По поводу правильности вывода поля, все верно. Вот как оно выводится:

<?php $user; profile_load_profile($user); print $user->profile_sottel; ?>
Аватар пользователя ser_house ser_house 24 июня 2012 в 14:43

Используйте в profile_load_profile $usr, который Вам дал Shok211.

"Shok211" wrote:
/*

  1. Загружаем активный объект node
  2. Загружаем автора node
  3. Выводим нужное поле. "Примечание: Не уверен в правильности вывода поля"
 */
$uid = menu_get_object()->uid;
$usr = user_load($uid);


и

profile_load_profile($usr);
print $usr->profile_sottel;