DANNEO CMS

Danneo CMS 1.5.x => Общие вопросы => Тема начата: reffery от 11 Апреля 2018, 10:11:58

Название: Блок Последние комментарии. Аватар
Отправлено: reffery от 11 Апреля 2018, 10:11:58
Доброго времени суток!
Хотелось бы, чтобы блок b-CommentLast.php ко всему прочему выводил еще и аватар пользователя. Самостоятельно разобраться не получилось (((((((((
Накидала свой блок, но встряла с преобразованием ctime в удобочитаемый формат ......... Думаю , проще обратиться к разработчикам и добить под себя существующий блок b-CommentLast.php.
Название: Re: Блок Последние комментарии. Аватар
Отправлено: reffery от 18 Апреля 2018, 14:39:56
Вопрос решен  :)
Не могу сказать, что выполнено по всем канонам danneo, однако, работает  ;)
Могу скинуть решение, если интересно.
Название: Re: Блок Последние комментарии. Аватар
Отправлено: gamma от 18 Апреля 2018, 15:44:44
Конечно интересно, может пригодится для какого нибудь сайта.
Название: Re: Блок Последние комментарии. Аватар
Отправлено: reffery от 19 Апреля 2018, 06:07:21
Блок b-CommentLast.php редактируем в районе 135 строки таким образом:
Существующий код:
// Вывод
$content[] = $tm->parse(array
(
'avatar' => $itemq['avatar'],
'title'   => $ins['title'],
'text'    => $ins['text'],
'date'    => $item['ctime'],
'author'  => $api->siteuni($item['cname']),
'public'  => $lang['all_data'],
'langaut' => $lang['author']
),
$ins['template']);

Заворачиваем в цикл с запросом для вывода аватарки таким образом:
// avatar 
$avatarq = $db->query("SELECT avatar FROM ".$basepref."_user WHERE uname = '".$item['cname']."'"); while ($itemq = $db->fetchassoc($avatarq))
{
// Вывод
$content[] = $tm->parse(array
(
'avatar' => $itemq['avatar'], // наша новая переменная
'title'   => $ins['title'],
'text'    => $ins['text'],
'date'    => $item['ctime'],
'author'  => $api->siteuni($item['cname']),
'public'  => $lang['all_data'],
'langaut' => $lang['author']
),
$ins['template']);
}

Далее - добавляем новую переменную в шаблон вывода site.ru/template/шаблон/comment.tpl таким образом:
Было:
<div class="comm-block clearfix"> 
    <!--if:info:yes--><div class="cinfo clearfix"><!--if-->
    <!--if:auth:yes--><strong>{author}</strong><!--if--><!--if:date:yes--><div class="ctime">{date:%j M H:i%}</div><!--if-->
    <!--if:info:yes--></div><!--if-->
    <!--if:name:yes--><div class="ctitle">{title}</div><!--if-->
    <div class="ctext">{text}</div>
</div>

Стало:
<div class="comm-block clearfix"> 
    <!--if:info:yes--><div class="cinfo clearfix"><!--if-->
    <!--if:auth:yes--><img style="border-radius: 50%; width:32px; max-width: 100%; height: 100%; margin: 0 auto;" src="../../up/avatar/{avatar}"><b>{author}</b>
    <!--if--><!--if:date:yes--><div class="ctime"><b>{date:%j M H:i%}</b></div><!--if-->
    <!--if:info:yes--></div><!--if-->
    <!--if:name:yes--><div class="ctitle"><strong>{title}</strong></div><!--if-->
    <div class="ctext">{text}</div>
</div>
Получилось так - во вложении.