Не нравятся результаты поиска? Попробуйте другой поиск!

Аватар автора в новостях


     25.08.2011    Хаки    7563

вопрос
Видел когда то хак, который выводит аватарку автора в полной новости, кто подскажет как вывести аватар и в краткую новость...

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


Сразу хочу сказать, что это плюс 1 запрос в новость, если не смущает, то:
  1. Открываем файлы:
    /engine/modules/show.short.php
    /engine/modules/show.full.php
    /engine/modules/show.custom.php
    во всех файлах находим:
    $tpl->set( '{login}', $row['autor'] );

    и ниже добавляем:
    $avatar = $db->get_row($db->query("SELECT foto FROM ".PREFIX."_users WHERE name='".$row['autor']."'"));
                if($avatar['foto'])
                    $tpl->set('{avatar}', $config['http_home_url']."uploads/fotos/".$avatar['foto']);
                else
                    $tpl->set('{avatar}', "{THEME}/images/noavatar.png");

  2. В шаблоны краткой, полной и custom новостей вставляем:
    <img src="{avatar}" alt="{login}"/>

  3. В CSS дописываем нужный свойства.
  4. Всё.

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

Sander
1126

1638 | 1204

Sander - 25 августа 2011 13:25 - Эксперт

Лучше не:
$avatar = $db->get_row($db->query("SELECT foto FROM ".PREFIX."_users WHERE name='".$row['autor']."'"));
А:
$avatar = $db->super_query("SELECT foto FROM ".PREFIX."_users WHERE name='{$row['autor']}'");

Но! Для каждой новости будет делаться отдельный запрос!

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

ICQ: 404-037-556
Skype: Sander8804

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 25 августа 2011 13:54 - Админ

А почему лучше?

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

DatiX
2

174 | 112

DatiX - 25 августа 2011 20:16 - Юзер

спасибо парни!!

maxbeat
41 | 41

maxbeat - 20 октября 2011 04:37 - Местный

А около аватара возможно вставить тег О себе из профиля пользователя? fullstory.tpl

Yurets
35 | 14

Yurets - 6 ноября 2012 12:59 - Юзер

У меня тоже возникла потребности вывести Инфо с поля автора "О себе", исходя из того тчо в php я полный 0, случайно нашел этот запрос от ПафНутия и немного подправил:

/engine/modules/show.full.php

после - $tpl->set( '{login}', $row['autor'] );

вставляем:

$avtor_info = $db->get_row($db->query("SELECT info FROM ".PREFIX."_users WHERE name='".$row['autor']."'"));
if($avtor_info['info'])
$tpl->set('{avtor_info}', $avtor_info['info']);
else
$tpl->set('{avtor_info}', "Информация отсутствует");

В шаблоне fullstory.tpl выводим в нужном месте тегом:
{avtor_info}

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

vipartem
2 | 1

vipartem - 8 июня 2015 20:14 - Юзер

У меня вопрос: Как выводить не логин, а полное имя. Вставки одного {fullname} в код шаблона не достаточно. Подскажите?

sanderart
36 | 6

sanderart - 12 октября 2015 14:23 - Юзер

Заметил, что в DLE 10.5 актуально уже так
$tpl->set('{avatar}', .$avatar['foto']);

sanderart
36 | 6

sanderart - 12 октября 2015 15:55 - Юзер

Вернее, так:
$tpl->set('{avatar}', $avatar['foto']);

(Предыдущий коммент удалить можно)

zikwal
2

35 | 3

zikwal - 23 октября 2015 02:44 - Юзер

По началу не понял о чем ты, но пока сам не допедрил не сделал :-)
Вот такой код, нужно вставлять!

$avatar = $db->get_row($db->query("SELECT foto FROM ".PREFIX."_users WHERE name='".$row['autor']."'"));
            if($avatar['foto'])
                $tpl->set('{avatar}', $avatar['foto']);
            else
                $tpl->set('{avatar}', "{THEME}/dleimages/noavatar.png");

rytis.arkusauskas
17

rytis.arkusauskas - 12 ноября 2015 11:23 - Юзер

a кaк Gravatar?

banbanan
1

32

banbanan - 18 декабря 2015 11:36 - Юзер

а как сделать так чтоб был виден статус пользователя?
когда вставляю этот код то ничего не пишет и не показывает


if (($row['lastdate'] + 1200) > $_TIME) {
        
        $tpl->set('[online]', "");
        $tpl->set('[/online]', "");
        $tpl->set_block("'\\[offline\\](.*?)\\[/offline\\]'si", "");
        
    } else {
        $tpl->set('[offline]', "");
        $tpl->set('[/offline]', "");
        $tpl->set_block("'\\[online\\](.*?)\\[/online\\]'si", "");
    }

stasex11
20

stasex11 - 7 ноября 2016 12:44 - Юзер

на dle 11.1 не работает

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

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