Добрый день, уважаемые.
Подскажите, пожалуйста, ответы на два вопроса:
- С помощью какого кода в шаблоне отображения комментария comment.tpl выводить дефолтную аватарку для незарегистрированных пользователей?
- Я создал дополнительное поле комментария (тип виджета - изображение), для добавления собственной аватарки анонимными юзерами. Как в шаблоне comment.tpl задать условие: если добавлена автарка (field_avatar) к комментарию -> то выводим эту аватарку, если автарка не добавлена, то выводим дефолтную аватарку?
Примерно как здесь нужно http://www.racionika.ru/l/standalone/kak-bystro-pokhudet/?utm_source=vko....
Комментарии
Очень просто. Нужно по условию выводить поле. У меня такой код в comment.tpl
И такой в модуле или можно засунуть в template.php
function get_user_avatar($user){
$user = user_load($user->uid);
if($user->uid)
return field_view_field('user', $user, 'field_avatar',
array(
'type' => 'image',
'label'=>'hidden',
'settings' => array(
'image_style' => 'circle',
'image_link' => 'content',
)
));
else
return "";
}
?>
Спасибо за ответ. Но так выводятся дефолтные аватарки у всех гостей подряд. Не срабатывает условие: если добавлена автарка (field_avatar) к комментарию -> то выводим эту аватарку, если автарка не добавлена, то выводим дефолтную аватарку.
Возможно у комментариев машинные имена полей как-то по другому определяются? А я взял из ссылки редактирования поля, как у обычной ноды.
Ваш код добавил в самый низ template.php.
Собственно вот страница http://maria-psy.ru/?q=intensiv-sekrety-seksualnogo-blagopoluchiya. Правда комментарии там ещё не темизированы.
<?php $av = get_user_avatar($cuser); ?>
Забыл переменная $cuser это переменная в которой хранится объект текущего пользователя, который оставил комментарий - его надо получить.
<?php $cuser = user_load($comment->uid); ?>
Так должно заработать.
Куда это дописать, не подскажите?
Сделал так:
<?php $cuser = user_load($comment->uid); ?>
<?php $av = get_user_avatar($cuser); ?>
<?php print render($av); ?>
Всё оформление слетело.
у друпала просто крышу сорвало после кузера
в настройках поля вообще то можно указать "Изображение по умолчанию" и просто выводить его без всяких условий
Блин, вот это я тупанул. Спасибо)
Здесь надо поставить свой стиль изображения, системное имя т.е. написать
<?php 'image_style' => 'circle', ?>
field_avatar Вы поменяли название поля на свое?
точно уже не припомню, но кажется были проблемы с выводом дефолтного изображения, поэтому выводил по условию