• Автор:

    Flesha
  • Добавлено:

    июн 16, 2015
  • Комментариев:

    0
  • Просмотров:

    759

Хак Делаем общим рейтинг новостей и комментариев

Хак Делаем общим рейтинг новостей и комментариев

Всем известно что в DLE два вида рейтинга, за новости и за комментарии. Для вывода каждого из них в нужном месте существует свой тег, а вот для вывода общего рейтинга тега нет. Данный хак решает эту проблему.

Делаем вывод рейтинга, в профиле пользователя!

Для этого нужно открыть /engine /modules/profile.php найти:
$tpl->set('{lastdate}', langdate("j F Y H:i", $row['lastdate']));


Ниже вставить, только один из вариантов!

Первый вариант!
$comm_rate = $db->super_query( "SELECT SUM(rating) as rating FROM " . PREFIX . "_post_extras WHERE user_id ='{$row['user_id']}'" );    
$news_rate = $db->super_query( "SELECT SUM(rating) as rating FROM " . PREFIX . "_comments WHERE user_id ='{$row['user_id']}'" );

$tpl->set('{total}', ($news_rate['rating'] + $comm_rate['rating']));


Второй вариант!
$total_rate = $db->super_query("SELECT (SELECT SUM(rating) FROM " . PREFIX . "_post_extras WHERE user_id ='{$row['user_id']}') + (SELECT SUM(rating) FROM " . PREFIX . "_comments WHERE user_id ='{$row['user_id']}') AS rating" ); 
$total = isset($total_rate['rating']) ? $total_rate['rating'] : 0;

$tpl->set('{total}', $total);


После открыть /templates/Ваш шаблон/userinfo.tpl в удобном месте вставить:
Общий рейтинг: {total}


Вот и все!

Если нужно поставить + или - тогда делаем так:
$tpl->set('{total}', (($total>0) ? '+ ' : '- ') . $total);


Какой из вариантов использовать? Решайте сами!
По аналогии, можно вывести в полной новости, комментариях!

Автор: SX2
Проверенно на DLE: 10.4
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.