[РЕШЕНО]Замена стандартного аватара пользователя на изображение с поля в Profile 2 для разных ролей

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

Аватар пользователя Boozenok Boozenok 28 сентября 2012 в 17:57

Есть стандартный код для вывода аватарки:
?>
<?php if ($user_picture): ?>

<?php print $user_picture; ?>

<?php endif; ?>

Надо перекрыть вывод стандартной аватарки user_picture значением поля, которое будет в Profile 2, например поле будет называться field_avatar (естественно там будет виджет изображения). Так что бы везде где выводится user_picture на сайте выводилось значение этого самого field_avatar.

Главная проблема состоит в том, что на сайте существует два отдельных профиля, где у каждого свои поля, и соответственно называться одинаково они не могут. То есть возможны названия полей только field_avatar_1 и field_avatar_2, а это уже разные имена.

Возможно ли как-то реализовать поставленную задачу при таких условиях?

Комментарии

Аватар пользователя sg85 sg85 1 октября 2012 в 13:35

На самом деле, вам бы не этот шаблон править, а в template.php переопределить моя_тема_preprocess_user_picture
http://api.drupal.org/api/drupal/modules%21user%21user.module/function/t...
В нем как раз и задается $user_picture, посмотрите структуру объекта пользователя(через devel, например), чтоб знать, какие данные подставлять.

Аватар пользователя Boozenok Boozenok 1 октября 2012 в 17:01

А нет идей какой файл править, что бы стандартный аватар не отображался в профиле, а везде в других местах где нужно он был? Вообще не могу найти(((

То есть убрать его можно, но тогда он везде убирается, а хотелось бы убрать только с профиля....

Аватар пользователя Boozenok Boozenok 4 октября 2012 в 16:14

Сделала так!

Оставила стандартный вывод аватара, только вывела его посредством Auto Pane. (необходимо было для работы), а что бы не было два изображения на странице профиля в файле user-profile.tpl.php в шаблоне темы прописала:

>
<?php unset($user_profile['user_picture']);?>
<?php print render($user_profile); ?>