drupal_render($profile2->view()); - вылетает в 502ю ошибку.

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

Аватар пользователя voodoo_dn voodoo_dn 4 февраля 2014 в 16:02

Добрый день.

<?php
$profile 
profile2_load_by_user($node->uid);
//echo drupal_render($profile['profile']->view());
?>

Такой код работает без проблем в модуле, но я его засовываю в хук, который отображает ноду, чтобы показать профиль автора ноды и сайт улетает в 502ю Sad Но это только если раскомментировать сам метод view(); На нём все сыпется. В чём может быть проблема?

Очень срочно.

Комментарии

Аватар пользователя q2_faith q2_faith 4 февраля 2014 в 17:01

"voodoo_dn" wrote:
Такой код работает без проблем в модуле

"voodoo_dn" wrote:
//echo drupal_render($profile['profile']->view());

сомневаюсь, что он прямо так записан

Аватар пользователя voodoo_dn voodoo_dn 4 февраля 2014 в 17:11

return 'Профиль пользователя обновлен.'.drupal_render($profile->view());

Перед этим же конечно,
$profile = profile2_load_by_user($user_id);
$profile = $profile['profile'];

Аватар пользователя voodoo_dn voodoo_dn 5 февраля 2014 в 18:46

Честно говоря отличий нет Smile

<?php
if($node->type == 'club')
{
   
$profile profile2_load_by_user($node->uid);
   
$profile $profile['profile'];
   
$profile->view(); //тут 502я улетает
}
?>
Аватар пользователя voodoo_dn voodoo_dn 5 февраля 2014 в 19:15

У администратора работает такой код, у пользователя - нет. Суть в том что нода, является содержимым группы. Я разрешил участнику и не участнику группы видеть profile2 пользователя. Ради надёжности выставил уже разрешил конкретные поля. Разрешил в обычных правилах - пользователю просматривать профиль, но всё равно улетает в 502ю. кэш чистил.

Аватар пользователя voodoo_dn voodoo_dn 6 февраля 2014 в 17:44

Нашёл в чём проблема. У меня в hook_profile2_view идёт отображение тизера материала. После node_view для этого материала - вылетает 502я ошибка. Все нужные поля для отображения, для этого типа пользователя - включены. Ради теста даже полный доступ включал, ко всем полям с редактированием - та же беда. В чём может быть проблема?