Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Как вывести аватарку пользователя в форме добавления коментария

Как вывести аватарку пользователя в форме добавления коментария


     09.06.2014    Шаблоны (TPL)    1693

вопрос
Знаю этот вопрос уже обсуждался но ответ который дал пафнутий не рабоатет

но не совсем понятно пару моментов

а какой код именно выводит аватар юзера в форме добавления коментов?
есть ноуаватар
<img id="commentator_avatar" src="{THEME}/images/noavatar.png" alt=""/>

есть джаваскрипт
$(function () {
uAva = $("#user_avatar");
cAva = $("#commentator_avatar");
    if (uAva.attr("src") != cAva.attr("src")) {
        cAva.attr("src", uAva.attr("src"));
    };            
});

зачем то есть это. только непойму зачем его вообще в логин.тпл пихать
<img id="user_avatar" src="{foto}" alt="{login}" />

а сам код вывода ватарки какой?
P.S на дле 10.2 работает?

Ответил: D0Gmatist


1. Открыть файл engine/modules/show.full.php:
Найти:
            $tpl->set_block( "'\\[question\\](.*?)\\[/question\\]'si", "" );
            $tpl->set( '{question}', "" );

        }
Вставить после:
            if ( count(explode("@", $member_id['foto'])) == 2 ) {
                $tpl->set( '{my-photo}', 'http://www.gravatar.com/avatar/' . md5(trim($member_id['foto'])) . '?s=' . intval($user_group[$member_id['user_group']]['max_foto']) );    
            } else {
                if($member_id['foto']) $tpl->set( '{my-photo}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
                else $tpl->set( '{my-photo}', "{THEME}/dleimages/noavatar.png" );
            }
            
            if ($row['fullname']) $tpl->set( '{my-name}', stripslashes($member_id['fullname']) );
                else $tpl->set( '{my-name}', stripslashes( $member_id['name'] ) );

2. Открыть шаблон templates/YOURTEMPLATE/addcomments.tpl
Добавить:
<img src="{my-photo}">
{my-name}

Комментарии пользователей (5)

Artyom91
2

157 | 21

Artyom91 - 9 июня 2014 11:00 - Юзер

<img id="commentator_avatar" src="{THEME}/images/noavatar.png" alt=""/>

В addcoments.tpl

<img id="user_avatar" src="{foto}" alt="{login}" />

или просто добавьте id="user_avatar" к текущему аватару.

В login.tpl

Lynat1k
1

373 | 93

Lynat1k - 9 июня 2014 11:19 - Юзер

ну так а что поменялось то?
этот код просто выводит ноуаватар а не аватар коментатора
<img id="commentator_avatar" src="{THEME}/images/noavatar.png" alt=""/>

в login.tpl добавил
<img id="user_avatar" src="{foto}" alt="{login}" />

и ничего не изменилось. что я делаю не так?

FastFud
50

1599 | 588

FastFud - 9 июня 2014 12:34 - Юзер

Lynat1k,
Я лично проверял и работает, если у вас не работает значит вы где-то ошиблись.

Попробуй в showfull.php после


if( $user_group[$member_id['user_group']]['comments_question'] ) {
$tpl->set( '[question]', "" );
$tpl->set( '[/question]', "" );
$question = $db->super_query("SELECT id, question FROM " . PREFIX . "_question ORDER BY RAND() LIMIT 1");
$tpl->set( '{question}', "<span id=\"dle-question\">".htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] )."</span>" );
$_SESSION['question'] = $question['id'];
} else {
$tpl->set_block( "'\\[question\\](.*?)\\[/question\\]'si", "" );
$tpl->set( '{question}', "" );
}

Добавить

if ( count(explode("@", $member_id['foto'])) == 2 ) {
$tpl->set( '{comm_avatar}', 'http://www.gravatar.com/avatar/' . md5(trim($member_id['foto'])) . '?s=' . intval($user_group[$member_id['user_group']]['max_foto']) );    
} else {
if($member_id['foto']) $tpl->set( '{comm_avatar}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
else $tpl->set( '{comm_avatar}', "{THEME}/dleimages/noavatar.png" );
}

over
57 | 3

over - 9 июня 2014 13:24 - Юзер

здорово, спасибо

Lynat1k
1

373 | 93

Lynat1k - 9 июня 2014 13:36 - Юзер

D0Gmatist, спасибо помогло =)

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

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