Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как сделать что бы выводило в комментариях картинку гостям noavatar.png?

Как сделать что бы выводило в комментариях картинку гостям noavatar.png?


     16.04.2015    Все вопросы » Шаблоны (TPL)    2912

вопрос
Не выводит картинку noavatar.png не зарегистрированным пользователям в комментариях. С зарегистрированными все нормально.
Сайт: http://nikopolnews.net/zhizn/nepridumannoe/801-sirota-dolzhna-otdat-17-tysyach-griven.html#comment-id-2558

Ответа пока нет


19 комментариев

sadan
Юзер

sadan - 16 апреля 2015 16:49 -

Надо читать документацию
<img src="[group=5]noavatar.png[/group][not-group=5]{foto}[/not-group]" />

matro-skin
Юзер

matro-skin - 16 апреля 2015 17:13 -

что-то не сработало :(

vitnet
PHP-developer

vitnet - 16 апреля 2015 17:19 -

Версия движка?

matro-skin
Юзер

matro-skin - 16 апреля 2015 17:32 -

10.2

vitnet
PHP-developer

vitnet - 16 апреля 2015 17:53 -

Ну судя по коду, проблем не должно быть.
            if ( count(explode("@", $row['foto'])) == 2 ) {
                $tpl->set('{foto}', 'http://www.gravatar.com/avatar/' . md5(trim($row['foto'])) . '?s=' . intval($user_group[$row['user_group']]['max_foto']));
            } else {
                if($row['foto']) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
                else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );
            }

Johny
Юзер

Johny - 16 апреля 2015 17:56 -

У вас и у админа че-то noavatar.png не показывается. У вас файл в /templates/Default/dleimages/ лежит

Если ноуаватарки не работают у всех, то проверьте файл: /engine/classes/comments.class.php
Если там будет что-то типа такого:
if($row['foto']) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
                else $tpl->set( '{foto}', "noavatar.png" );
То надо преобразовать в:
if($row['foto']) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
                else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );


Или как вариант намудренно что-то в шаблоне comments.tpl, там должно быть че-то типа:
<div class="lcol"><span><img src="{foto}" alt=""/></span></div>

matro-skin
Юзер

matro-skin - 16 апреля 2015 18:13 -

кусок кода шаблона комментов:
<div class="comment">
        [online]<div class="avatar lcol offline" data-placement="right" title="Пользователь онлайн"><img src="{foto}" alt=""/></div>[/online]
        [offline]<div class="avatar lcol offline" data-placement="right" title="Пользователь оффлайн"><img src="{foto}" alt=""/></div>[/offline]
    <div class="rcols">
        <div class="inf">
            <h4 class="lcol">{author}</h4>
            <small class="lcol">{group-name}</small>
            <span class="rcol">
                <a href="#"><b>{date}</b></a>
            </span>
        </div>

Кусочек с comments.class.php:

                $tpl->set( '{foto}', 'http://www.gravatar.com/avatar/' . md5(trim($row['foto'])) . '?s=' . intval($user_group[$row['user_group']]['max_foto']) );

            } else {

                if($row['foto']) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
                else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );

            }

            if( $row['is_register'] AND $row['fullname'] ) {
                $tpl->set( '[fullname]', "" );
                $tpl->set( '[/fullname]', "" );
                $tpl->set( '{fullname}', stripslashes( $row['fullname'] ) );
                $tpl->set_block( "'\\[not-fullname\\](.*?)\\[/not-fullname\\]'si", "" );

sadan
Юзер

sadan - 16 апреля 2015 18:23 -

Попробуй так:
<div class="comment">
        [online]<div class="avatar lcol offline" data-placement="right" title="Пользователь онлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>[/online]
        [offline]<div class="avatar lcol offline" data-placement="right" title="Пользователь оффлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>[/offline]
    <div class="rcols">
        <div class="inf">
            <h4 class="lcol">{author}</h4>
            <small class="lcol">{group-name}</small>
            <span class="rcol">
                <a href="#"><b>{date}</b></a>
            </span>
        </div>

matro-skin
Юзер

matro-skin - 16 апреля 2015 18:26 -

теперь у админа аватарка сменилась на noavatar :-)
Вот , посмотрите: http://nikopolnews.net/zhizn/nepridumannoe/801-sirota-dolzhna-otdat-17-tysyach-griven.html#comment-id-2571

Johny
Юзер

Johny - 16 апреля 2015 18:56 -

Есть ощущение что комментарии выводятся не через стандартный шаблон для комментариев.
<div id="comment-id-1015" data-original-title="" title=""><div class="comment" data-original-title="" title="">
<div class="avatar lcol offline" data-placement="right" title="" data-original-title="Пользователь оффлайн"><img alt="" pagespeed_url_hash="2453477636" src="/templates/Default/dleimages/noavatar.png" data-original-title="" title=""></div>
<div class="rcols" data-original-title="" title="">
<div class="inf" data-original-title="" title="">
<h4 class="lcol" data-original-title="" title=""><a onclick="ShowProfile('%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F', 'http://nikopolnews.net/user/%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F/', '0'); return false;" href="http://nikopolnews.net/user/%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F/" data-original-title="" title="">Администрация</a></h4>
<small class="lcol" data-original-title="" title=""><b data-original-title="" title=""><span style="color:red" data-original-title="" title="">Администраторы</span></b></small>
<span class="rcol" data-original-title="" title="">
<a href="#" data-original-title="" title=""><b data-original-title="" title="">26 декабря 2013 10:41</b></a>
</span>
</div>
<div class="comment_text" data-original-title="" title="">
<div id="comm-id-1015" data-original-title="" title=""><p data-original-title="" title="">Нюша, оскорбления караются баном.<br data-original-title="" title="">Изучите правила сайта пожалуйста: http://nikopolnews.net/rules.html<br data-original-title="" title="">Пока предупреждение.</p></div>
<div class="clr" data-original-title="" title=""></div>
</div>
</div>
</div></div>
<div id="comment-id-1028" data-original-title="" title=""><div class="comment" data-original-title="" title="">
<div class="rcols" data-original-title="" title="">
<div class="inf" data-original-title="" title="">
<h4 class="lcol" data-original-title="" title="">Нелли</h4>
<small class="lcol" data-original-title="" title="">Гости</small>
<span class="rcol" data-original-title="" title="">
<a href="#" data-original-title="" title=""><b data-original-title="" title="">4 января 2014 14:02</b></a>
</span>
</div>
<div class="comment_text" data-original-title="" title="">
<div id="comm-id-1028" data-original-title="" title=""><p data-original-title="" title="">Вика решила "кинуть" агентство - это очевидно, заняла деньги, а отдавать нечем, дыма без огня не бывает, не стала бы Ю.А. требовать деньги на ровном месте, да еще доводить это дело до суда.</p></div>
<div class="clr" data-original-title="" title=""></div>
</div>
</div>
</div></div>

Для админа выводится div class="avatar lcol offline" в котором лежит аватарка, для юзеров нет. Не сходится с тем отрывком comments.tpl или там есть продолжение html кода которое описывает подобное но для гостей отдельно.

matro-skin
Юзер

matro-skin - 16 апреля 2015 19:47 -

Собственно:
<div class="comment">
        [online]<div class="avatar lcol offline" data-placement="right" title="Пользователь онлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>[/online]
        [offline]<div class="avatar lcol offline" data-placement="right" title="Пользователь оффлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>[/offline]
    <div class="rcols">
        <div class="inf">
            <h4 class="lcol">{author}</h4>
            <small class="lcol">{group-name}</small>
            <span class="rcol">
                <a href="#"><b>{date}</b></a>
            </span>
        </div>
        <div class="comment_text">
        {comment}
            <div class="clr"></div>
        </div>
        [not-group=5]
        <div class="moder lcol">
                    <a href="#"><i class="fa fa-heart"></i> <em>{include file="engine/modules/easylike/easylike.php?comment_id={id}"}</em></a>
                    [fast]<i class="fa fa-comment"></i> <em>Ответить</em>[/fast]
                    <span class="arg">[com-del]Удалить[/com-del]</span>
                    <span class="arg">[com-edit]Изменить[/com-edit]</span>
                    [spam]Спам[/spam]
                    {war-link}
            [complaint]<i class="fa fa-exclamation-triangle"></i> <em>жалоба</em>[/complaint]
            [group=1]{mass-action}[/group]
        </div>
     [/not-group]  
    </div>
</div>

Johny
Юзер

Johny - 16 апреля 2015 20:24 -

Для чего теги online и offline, если они выводят аватарки, такие вещи нужны чтобы например выводить изображения статус пользователя (онлайн или оффлайн на сайте). Возможно отключена в настройках скрипта поддержка онлайн статуса на сайте, поэтому работает некорректно.

Включить поддержку статуса 'Онлайн' для пользователей на сайте

Отключение данной настройки уменьшает частоту обновления профилей пользователей на сайте, что позволяет экономить ресурсы MySQL сервера. При этом, в случае отключения, теги [online][/online] и [offline][/offline] будут работать некорректно, и их нужно убирать из шаблонов.


Или в шаблоне попробовать такие изменения:

Найти:
<div class="comment">
        [online]<div class="avatar lcol offline" data-placement="right" title="Пользователь онлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>[/online]
        [offline]<div class="avatar lcol offline" data-placement="right" title="Пользователь оффлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>[/offline]

заменить на:
<div class="comment">
          <div class="avatar lcol offline" data-placement="right" title="Пользователь онлайн"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>

matro-skin
Юзер

matro-skin - 16 апреля 2015 21:12 -

Цитата: Johny
заменить на:

Заменил, отображать стало, но
теперь при наведение на аватарку у меня все пользователи онлайн

Johny
Юзер

Johny - 16 апреля 2015 21:22 -

Тогда вернуть шаблон как было до последнего изменения, и просто включить функцию отслеживания 'онлайн' на сайте. А если не надо отслеживание онлайн, то title="Пользователь онлайн"> привести к виду title="">

matro-skin
Юзер

matro-skin - 16 апреля 2015 21:29 -

включена эта функция всегда была

Johny
Юзер

Johny - 16 апреля 2015 21:44 -

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

LazyDev
PHP-developer

LazyDev - 16 апреля 2015 21:47 -

<div class="avatar lcol offline" data-placement="right" title="Пользователь [online] онлайн [/online] [offline] оффлайн [/offline]"><img src="[group=5]{THEME}/dleimages/noavatar.png[/group][not-group=5]{foto}[/not-group]" alt=""/></div>

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

matro-skin
Юзер

matro-skin - 16 апреля 2015 21:54 -

Вариант Gameer (а) сработал на сто процентов!
Спасибо ВСЕМ!
И спасибо Паше за полезный сайт!
Всем хорошего вечера!

Johny
Юзер

Johny - 16 апреля 2015 21:55 -

Гости вообще не обрабатываются на онлайность, а там в основном они пишут. И тупо title Пользователь получается, хоть он типа и не пользователь, а гость. Я бы проверку выпилил бы, или сделал условие [not-group=5]

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх