У меня возник вопрос, как мне достучаться до перемененной, т.е. отобразить ее содержимое.
Хочу получить значение $user->content;
В index.php я добавил строчку print_r($user->content); - ничего не отображается...
А print_r($user); выводит все что надо, но относительно $user. Подскажите, как же получить содержимое $user->content?
Заранее благодарен
Комментарии
У объекта $user нет свойства content.
<?php
foreach($user as $k => $v) {
drupal_set_message($k . " => " . $v);
}
?>
Это кусок кода из 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. Очевидно, она как то прирастает к нему, но вопрос не в этом, вопрос в том, как добраться к ее содержимому...
то что в примере из модуля blog используется переменная названная "$user" это не значит, что эта функция оперирует с глобальной переменной $user. В пределах приведенного куска кода они могли бы ее назвать"$gorshok" - в работе друпала ничего бы не изменилось.
Понятно, то бишь это локальный объект с однодоменным названием, схожим с глобальным - user. но вопрос тут в другом, а каким образом можно посмотреть содержимое этого объекта, а точнее его метода?
Я же вам в первом комментарии привел усок кода, который выводит содержимое объекта юзер.
Спасибо!
там переменная не прирастает, а только выводиться, дальше оно никуда не идёт (в смысле кроме вывода).
Чтобы приросло "навеки", вам нужно использовать hook_user: op=load, и загрузить необходимые данные.