задача — когда автор поста не скидывает картинку для привлечения внимания, сделать этой картинкой аватар автора. Собственно где это прописывается и как в теории должно быть не сложно?
Не пробовал, но из примера по ссылке надо заменить в условии "иначе": вместо "<img src="путь к заглушке">" этот код
<?php echo html_avatar_image($item['user']['avatar'], 'normal');?>
Файл \templates\default\controllers\content\widgets\list\list_basic.tpl.php целиком:
<?php if ($items){ ?> <div class="widget_content_list"> <?php foreach($items as $item) { ?> <?php $url = href_to($ctype['name'], $item['slug']) . '.html'; $is_private = $item['is_private'] && $hide_except_title && !$item['user']['is_friend']; if ($is_private) { $image = default_images('private', 'small'); } $url = ''; } ?> <div class="item"> <?php if ($image) { ?> <div class="image"> <?php if ($url) { ?> <a href="<?php echo $url; ?>"><?php echo html_image($image, 'small', $item['title']); ?></a> <?php } else { ?> <?php echo html_image($image, 'small', $item['title']); ?> <?php } ?> </div> <?php } else { ?> <!-- Нет картинки - выводим аватар автора Ris 01.06.2017 ---> <div class="image"> <?php if ($url) { ?> <a href="<?php echo $url; ?>"><?php $us = cmsCore::getModel('users')->getUser($item['user']['id']); echo html_avatar_image($us['avatar'], 'small', $item['user']['nickname']); ?></a> <?php } else { ?> <?php html_avatar_image($us['avatar'], 'small', $item['user']['nickname']); ?> <?php } ?> </div> <?php } ?> <!------------------------------------------------------------> <div class="info"> <div class="title"> <?php if ($url) { ?> <a href="<?php echo $url; ?>"><?php html($item['title']); ?></a> <?php } else { ?> <?php html($item['title']); ?> <?php } ?> <?php if ($item['is_private'] || $item['is_parent_hidden'] != NULL /*Изображение глаза Racoon 27.07.2017*/) { ?> <span class="is_private" title="<?php html(LANG_PRIVACY_HINT); ?>"></span> <?php } ?> </div> <div class="teaser"> <?php if (!$is_private) { ?> <?php echo string_short($item[$teaser_field], $teaser_len); ?> <?php } else { ?> <!--noindex--><div class="private_field_hint"><?php echo LANG_PRIVACY_PRIVATE_HINT; ?></div><!--/noindex--> <?php } ?> </div> <?php } ?> <?php if ($is_show_details) { ?> <div class="details"> <span class="author"> <a href="<?php echo href_to('users', $item['user']['id']); ?>"><?php html($item['user']['nickname']); ?></a> <?php if ($item['parent_id']){ ?> <?php echo LANG_WROTE_IN_GROUP; ?> <a href="<?php echo rel_to_href($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a> <?php } ?> </span> <span class="date"> <?php html(string_date_age_max($item['date_pub'], true)); ?> </span> <?php if($ctype['is_comments']){ ?> <span class="comments"> <?php if ($url) { ?> <a href="<?php echo $url . '#comments'; ?>" title="<?php echo LANG_COMMENTS; ?>"> </a> <?php } else { ?> <?php } ?> </span> <?php } ?> </div> <?php } ?> </div> </div> <?php } ?> </div> <?php } ?>
Я тут разработал еще более извращенный способ замены картинки на аватар.
Делается такой хук:
И он при отсутствии картинки вставляет аватар. И не надо курочить файлы шаблона.