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

Аватарка пользователя рядом с формой добавления комментария


     13.09.2011    Шаблоны (TPL)    4347

вопрос
Видел где то хак - рядом с формой добовления коминтария выводиться аватар пользователя.



Как так сделать и желательно в рамочке))

Ответил: ПафНутиЙ


Сделать можно на jquery.
Суть скрипта в том, что он берёт определённый элемент на странице (в нашем случаи это аватар) и вставляет его в другое место.
$(function(){    
$("#user_avatar").appendTo("#add_avatar");
});

где #user_avatar - то что берём
#add_avatar - то, куда вставляем.

UPD
Вот нормальный скрипт:
Это кладём в js-файл:
$(function () {
uAva = $("#user_avatar");
cAva = $("#commentator_avatar");
    if (uAva.attr("src") != cAva.attr("src")) {
        cAva.attr("src", uAva.attr("src"));
    };            
});


В login.tpl пишем:
<img id="user_avatar" src="{foto}" alt="{login}" />

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


Как раз сейчас нужно было для одного проекта, вот и решил поделиться готовым решением
Отредактировал 26-11-2011, 20:32 - ПафНутиЙ
Причина: дописал готовое решение.

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

Yamakasi
5

198 | 105

Yamakasi - 13 сентября 2011 21:36 - Юзер

обычным тегом разве не выводит?

SlimYalta
1

37 | 36

SlimYalta - 13 сентября 2011 21:52 - Юзер

<img src="{foto}" alt="{login}" style="width:100px"/>

Этим что ли?
Не не выходит...

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 13 сентября 2011 22:39 - Админ

Yamakasi,
Обычным не выводится, только правкой файлов, либо, как вариант - jquery.
будет время - сделаю решение на jquery.

Каков вопрос - таков и ответ. Просто помните об этом.

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 14 сентября 2011 09:48 - Админ

Комментарии не по теме удалил, выясняйте пожалуйста, кто прав, кто нет в ПС или другими способами.

Каков вопрос - таков и ответ. Просто помните об этом.

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 26 ноября 2011 17:33 - Админ

Дополнил готовым решением с проверкой, на случай, если пользователь не удосужился поставить авик себе. )))

Каков вопрос - таков и ответ. Просто помните об этом.

Lynat1k
1

373 | 93

Lynat1k - 4 июня 2014 13:18 - Юзер

что то не совсем понятно что куда
а какой код именно выводит аватар юзера в форме добавления коментов?
есть ноуаватар (<img id="commentator_avatar" src="{THEME}/images/noavatar.png" alt=""/>)
есть джаваскрипт
зачем то есть это только непойму зачем его вообще в логин.тпл пихать
а сам код вывода ватарки какой?
P.S на дле 10.2 работает?

papeion
36 | 31

papeion - 7 марта 2012 11:26 - Юзер

ПафНутиЙ,
Интересно, а таким методом можно вывести аватар автора статьи в фул и в шорт (т.е. в тело статьи), и просто над статьёй.

Sander
1126

1638 | 1204

Sander - 27 мая 2012 15:02 - Эксперт

Только дополнительным модулем.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

djen
2 | 2

djen - 2 июня 2012 01:50 - Юзер


Sander
1126

1638 | 1204

Sander - 2 июня 2012 11:33 - Эксперт

И имеем +1 запрос на вывод каждой новости.
А при просмотре списка коротких +10 запросов. Классный хак, ничего не скажешь. Только для сайтов с посещалкой до 100 уников в сутки.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Lynat1k
1

373 | 93

Lynat1k - 2 мая 2014 11:27 - Юзер

почему к котротким новостям запром добавляется? если в коротких новостях на главной или разделе не выводится же форма добавления коментов!

Sander
1126

1638 | 1204

Sander - 2 мая 2014 12:20 - Эксперт

Мой комментарий относится к хаку, который выводит аватарку автора в шаблоне короткой новости.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

rocksmart
64

307 | 115

rocksmart - 4 июня 2014 16:35 - Юзер

Как вариант index.php

Над строкой:

$tpl->compile ( 'main' );


Вставить

/* вывод аватара */
if ( count(explode("@", $member_id['foto'])) == 2 ) {
$tpl->set( '{userinfo-foto}', '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'] and (file_exists( "engine/uploads/fotos/" . $member_id['foto'] )) ) $tpl->set( '{userinfo-foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );else $tpl->set( '{userinfo-foto}', "{THEME}/dleimages/noavatar.png" );
}



Использование в шаблонах

<img src="{userinfo-foto}" />

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

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