Проблема с выводом поля field в author-pane форума (нужен совет по php в tpl) - Вывод информации из профиля пользователя в форум

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

Аватар пользователя knife knife 12 апреля 2012 в 22:29

В общем воздал поле "field_city" которое нужно заполнять при регистрации на сайте. Для друпал 7 нашел такой код:

<?php // ------------GOROD--------------- ?>

<?php print render(field_view_value('user', $account, 'field_city', $account->field_city['und'][0])); ?>

Вставляю в файл naked/advanced-forum.naked.author-pane.tpl.php

гружу на хостинг, обновляю страницу и вижу что появился город в поле пользователя. Обновляю страницу ещё раз и вижу:

Notice: Undefined index: und в функции include() (строка 35 в файле ***/sites/all/modules/advanced_forum-7.x-2.0/advanced_forum/styles/naked/advanced-forum.naked.author-pane.tpl.php).

Notice: Undefined index: und в функции include() (строка 35 в файле ***/sites/all/modules/advanced_forum-7.x-2.0/advanced_forum/styles/naked/advanced-forum.naked.author-pane.tpl.php).

Notice: Undefined index: und в функции include() (строка 35 в файле ***/sites/all/modules/advanced_forum-7.x-2.0/advanced_forum/styles/naked/advanced-forum.naked.author-pane.tpl.php).

------

Следующий вопрос что я сделал не так? В PHP интуитивно разбираюсь, т.е. чайник.

Комментарии

Аватар пользователя knife knife 12 апреля 2012 в 23:05

Проблему решил.

Все дело в том что у одного из пользователей не было заполнено поле field_city, из-за этого всплывала ошибка при входе в тему где есть записи этого пользователя. Отредактировал его профиль и проблема исчезла.

Итого чтобы вывести поля в форум использовать этот код:
<?php print render(field_view_value('user'$account'field_city'$account->field_city['und'][0])); ?>

Аватар пользователя sitdikov sitdikov 13 апреля 2012 в 12:43

А если кто-нибудь ещё не заполнит?
Предлагаю вам следующее решение:
<?php if (isset($account->field_city['und'])) print render(field_view_value('user', $account, 'field_city', $account->field_city['und'][0])); ?>

т.е. сначала нужно проверить, есть ли такое поле.

Аватар пользователя shved shved 13 апреля 2012 в 18:52

Огромное вам спасибо.Сделал как вы подсказали и все работает как надо.От себя только могу добавить, что у вас если несколько полей, то что бы они все начинались с новой строчки в конце каждого кода нужно поставить знак меньше, слеш наклоненный вправо, див ,знак больше, только див по английски сюда оригинал не вставляется.При этом, что бы изменения отобразились кэш чистить необязательно.

Аватар пользователя soci0pat soci0pat 30 октября 2012 в 1:33

shved wrote:
Огромное вам спасибо.Сделал как вы подсказали и все работает как надо.От себя только могу добавить, что у вас если несколько полей, то что бы они все начинались с новой строчки в конце каждого кода нужно поставить знак меньше, слеш наклоненный вправо, див ,знак больше, только див по английски сюда оригинал не вставляется.При этом, что бы изменения отобразились кэш чистить необязательно.

</div>