StillMaster » DLE » Как на странице статистики в DLE вывести фото лучших пользователей

Как на странице статистики в DLE вывести фото лучших пользователей
Как на странице статистики в DLE вывести фото лучших пользователей

Недавно на форуме наткнулся на пост в котором человек просил помочь ему вывести фото на странице статистики для топа пользователей. Я ему помог и делюсь на странице своего сайта решением.

На самом деле все очень просто если вы используете модули то можете просто скачать готовое решение. 

Если вам интересен сам путь для понимания то вот он. Для начала нам нужно изменить запрос к базе данных в файле engine/modules/stats.php

По умолчанию он выглядит так 

	$db->query( "SELECT user_id, name, user_group, reg_date, lastdate, news_num, comm_num FROM " . USERPREFIX . "_users WHERE news_num > '0' ORDER BY news_num DESC LIMIT 0,10" );

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

$db->query( "SELECT user_id, name, user_group, reg_date, lastdate, news_num, comm_num, foto FROM " . USERPREFIX . "_users WHERE news_num > '0' ORDER BY news_num DESC LIMIT 0,10" );

Затем нам нужно обработать полученный результат мы находим строчку 

		$user_pm = "<a href=\"$PHP_SELF?do=pm&amp;doaction=newpm&amp;username=" . urlencode($row['name']) . "\">{$lang['top_pm']}</a>";

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

// Проверка на наличие фото
    if (!empty($row['foto'])) {
        $user_photo = "<img src=\"" . htmlspecialchars($row['foto'], ENT_QUOTES, $config['charset']) . "\" alt=\"" . htmlspecialchars($row['name'], ENT_QUOTES, $config['charset']) . "\">";
    } else {
        $user_photo = "<img src=\"{THEME}/dleimages/noavatar.png\" alt=\"" . htmlspecialchars($row['name'], ENT_QUOTES, $config['charset']) . "\">";
    }

затем нам нужно найти строку которая отвечает за формирование таблицы с пользователями 

		$top_table .= "<tr><td>{$user_name}</td><td align=\"center\">{$user_group[$row['user_group']]['group_prefix']}{$user_group[$row['user_group']]['group_name']}{$user_group[$row['user_group']]['group_suffix']}</td><td align=\"center\">{$registration}</td><td align=\"center\">{$last}</td><td align=\"center\">{$row['news_num']}</td><td align=\"center\">{$row['comm_num']}</td><td align=\"center\">[ {$user_pm} ]</td></tr>";

и добавить в нужное место вывод фото 

<td align=\"center\">{$user_photo}</td>

думаю проблем с этим возникнуть не должно. Вот таким образом вы сможете вывести топ пользователей в статистике вашего сайта.

Скачать файл: vyvod-foto-v-statistike.zip [1.14 Kb] (cкачиваний: 1)
GeekBrains

Если вам была полезна данная статья, то поделитесь данной статьей в социальной сети. А если вам нужна помощь в настройке сайта, нужна верстка или что то еще то жду Вас на kwork .


Поделиться:

6 21.01.25