29.04.14, 09:15
0 комментарий
  DLE Хаки

Количество юзеров добавивших новость в избранное

Хак позволяет в новостях, рядом с "добавить в избранное", вывести количество юзеров которые уже добавили новость.

При выводе количества закладок в краткой новости у Вас будет по 1 запросу на каждую новость. Потому рекомендую подключать только в полной новости.
То Есть если у Вас вывод 30 новостей на страницу это плюс 30 запросов.

За вывод коротких новостей отвечает файл: show.short.php
За вывод полной новости отвечает файл: show.full.php

Установка:
В файлах show.short.php и show.full.php и после строки:

$row['category'] = intval( $row['category'] );


Вставить на выбор, смотря что заработает, это:

    $favc = $db->super_query("SELECT count(*) as c FROM ".USERPREFIX."_users WHERE favorites LIKE '{$row['id']},%' OR favorites LIKE '%,{$row['id']},%' OR favorites LIKE '%,{$row['id']}' OR favorites = {$row['id']}");
    $tpl->set("{favcount}", intval($favc['c']));


Или это:

    $favc = $db->super_query("SELECT count(*) as c FROM ".USERPREFIX."_users WHERE favorites REGEXP '[[:<:]]{$row['id']}[[:>:]]'");
    $tpl->set("{favcount}", intval($favc['c']));


В шаблоне новости добавьте, который выводит количество пользователей:

 {favcount}



Но если У Вас установлен Fav-All 2.0 то не вижу смысла ставить данный хак, что бы не заводить пользователей в недоумения.

Версия DLE: 9.х
Автор: Sander

Для DLE 10.2 ищем:
В файлах show.short.php и show.full.php и после строки:

$category_id = intval( $row['category'] );


ниже ставим:

 $favc = $db->super_query("SELECT count(*) as c FROM ".USERPREFIX."_users WHERE favorites LIKE '{$row['id']},%' OR favorites LIKE '%,{$row['id']},%' OR favorites LIKE '%,{$row['id']}' OR favorites = {$row['id']}");
    $tpl->set("{favcount}", intval($favc['c']));
шаблоны для dle 11.2

Напишите своё мнение