Как достучасться до переменной (отобразить ее содержимое)?

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

Аватар пользователя Siegfrid Siegfrid 31 августа 2009 в 12:15

У меня возник вопрос, как мне достучаться до перемененной, т.е. отобразить ее содержимое.

Хочу получить значение $user->content;
В index.php я добавил строчку print_r($user->content); - ничего не отображается...
А print_r($user); выводит все что надо, но относительно $user. Подскажите, как же получить содержимое $user->content?

Заранее благодарен

Комментарии

Аватар пользователя Siegfrid Siegfrid 31 августа 2009 в 13:18

Это кусок кода из Pro Drupal Development, Second Edition:
/**
* Implementation of hook_user().
*/
function blog_user($op, &$edit, &$user) {
if ($op == 'view' && user_access('create blog entries', $user)) {
$user->content['summary']['blog'] = array(
'#type' => 'user_profile_item',
'#title' => t('Blog'),
'#value' => l(t('View recent blog entries'), "blog/$user->uid",
array('title' => t("Read username's latest blog entries.",
array('username' => $user->name)))),
'#attributes' => array('class' => 'blog'),
);
}
}
Как тут видно, в данном примере у объекта user появляется переменная content. Очевидно, она как то прирастает к нему, но вопрос не в этом, вопрос в том, как добраться к ее содержимому...

Аватар пользователя kosilko kosilko 31 августа 2009 в 13:46

"Siegfrid" wrote:
Очевидно, она как то прирастает к нему, но вопрос не в этом, вопрос в том, как добраться к ее содержимому...

то что в примере из модуля blog используется переменная названная "$user" это не значит, что эта функция оперирует с глобальной переменной $user. В пределах приведенного куска кода они могли бы ее назвать"$gorshok" - в работе друпала ничего бы не изменилось.

Аватар пользователя Siegfrid Siegfrid 31 августа 2009 в 14:05

Понятно, то бишь это локальный объект с однодоменным названием, схожим с глобальным - user. но вопрос тут в другом, а каким образом можно посмотреть содержимое этого объекта, а точнее его метода?

Аватар пользователя Ромка Ромка 31 августа 2009 в 14:18

Siegfrid wrote:
Понятно, то бишь это локальный объект с однодоменным названием, схожим с глобальным - user. но вопрос тут в другом, а каким образом можно посмотреть содержимое этого объекта, а точнее его метода?

Я же вам в первом комментарии привел усок кода, который выводит содержимое объекта юзер.

Аватар пользователя Nikit Nikit 31 августа 2009 в 14:37

там переменная не прирастает, а только выводиться, дальше оно никуда не идёт (в смысле кроме вывода).
Чтобы приросло "навеки", вам нужно использовать hook_user: op=load, и загрузить необходимые данные.