Расширение функций рейтинга DLE Нравится - Не нравится

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Расширение функций рейтинга DLE Нравится - Не нравится
Представляем модификация стандартного рейтинга дле или хак Расширение функций рейтинга DLE Нравится - Не нравится, если у вас DLE 10.5 или выше. Хак для DLE Расширение функционала стандартного рейтинга "Нравится" - "Не нравится", который позволит вам сделать раздельный вывод минусов и плюсов в рейтинге DataLife Engine.

Обратите внимание, dle хак применим только для рейтинга - "Нравится" и "Не нравится" третьего типа, который можно выбрать в панели администратора сайта дле "Настройка системы". Данный вариант вывода рейтинга легко реализуем путем имеющихся данных и дополнительных изменений никаких в БД делать вам не придется.
Установка хака Расширение функций рейтинга DLE Нравится - Не нравится предельно проста
<a href="http://www.dle9.com/">дле</a>

Приступим.

Открыть файл engine/modules/functions.php
Найти строку (первую, в функции ShowRating):
    } elseif ($config['rating_type'] == "2") {


После нее вставить:
        $rate_minus = ($vote_num - $rating)/2;
        $rating_plus = $rating + $rate_minus;

        $rated = <<<HTML
<div class="main-sliders-rate ignore-select">
    <a href="#" title="Нравится(+)" onclick="doRate('1', '$id'); return false;">
        <span>
            <svg viewBox="61.9 84.9 200.8 194.4">
                <path d="M237,146c-4-0.8-8.8-0.8-11.2-0.8h-41V98.6c0-8-6.4-13.7-13.7-13.7h-19.3c-7.2,0-12.9,4.8-15.3,11.2l-11.2,47.4c0,0.8-1.6,3.2-1.6,3.2l-19.3,20.1c0,0-0.8,0.8-0.8,1.6c-0.8,0-1.6,0.8-1.6,0.8H78.8c-8.8,0-16.9,5.6-16.9,14.5v61c0,8.8,8,16.1,16.9,16.1h23.3c1.6,0,3.2-0.8,4.8-0.8l16.1,13.7c4,3.2,9.6,5.6,14.5,5.6h72.3c39.4,0,53-31.3,53-57v-41.8C261.1,158,245.8,148.4,237,146z M81.2,186.9h18.5v56.2H81.2L81.2,186.9L81.2,186.9z M243.4,222.3c0,11.2-3.2,36.9-34.5,36.9h-72.3c-0.8,0-2.4-0.8-2.4-0.8l-16.1-12.9v-0.8v-61v-1.6c0-0.8,0-1.6,0.8-1.6l19.3-20.1c3.2-3.2,5.6-7.2,6.4-11.2l10.4-44.2h9.6v43.4c0,8,7.2,14.5,15.3,14.5h45c2.4,0,5.6,0,6.4,0.8c1.6,0.8,10.4,4,10.4,16.1C243.4,180.5,243.4,222.3,243.4,222.3z"></path>
            </svg>
            $rating_plus
        </span>
    </a>
    <a href="#" title="Не нравится(-)" onclick="doRate('-1', '$id'); return false;">
        <span>
            <svg viewBox="97.6 84.8 200.8 194.4">
                <path d="M298.4,183.6v-41.8c0-25.7-12.9-57-53-57h-72.3c-4.8,0-10.4,2.4-14.5,5.6l-16.1,13.7c-1.6-0.8-3.2-0.8-4.8-0.8h-23.3c-8.8,0-16.9,7.2-16.9,16.1v61c0,8.8,8,14.5,16.9,14.5h23.3c0.8,0,1.6,0.8,1.6,0.8s0,0.8,0.8,1.6l19.3,20.1c0.8,0.8,1.6,2.4,1.6,3.2l11.2,47.4c1.6,6.4,8,11.2,15.3,11.2h19.3c7.2,0,13.7-5.6,13.7-13.7v-45.8h41c2.4,0,7.2,0,11.2-0.8C283.1,215.7,298.4,206.1,298.4,183.6z M118.5,120.2H137v56.2h-18.5V120.2z M279.9,183.6c0,12.9-8.8,16.1-10.4,16.1c-1.6,0-4,0.8-6.4,0.8h-45c-8,0-15.3,6.4-15.3,14.5v43.4h-11.2l-10.4-44.2c-0.8-4-4-8-6.4-11.2l-19.3-20.1l-0.8-1.6v-1.6v-61v-0.8l16.1-12.9c0.8,0,1.6-0.8,2.4-0.8h72.3c31.3,0,34.5,25.7,34.5,36.9V183.6z"></path>
            </svg>
            $rate_minus
        </span>
    </a>
</div>
HTML;
        if( $allow ) $rated = "<div id=\"ratig-layer-$id\">$rated</div>";
        return $rated;




Готово. В шаблоне использовать один стандартный тег
{rating}


Стили и HTML код нагло взяты с сайта kinokong
Пример работы можно посмотреть тут - color.sandev(точка)pro

С уважением,
Олег Александрович a.k.a. Sander
Версия DLE 10.5 и выше, к примеру на свежей версии dle 11

Скачать классные хаки для dle можно у нас в разделе, как хак расширение функционала рейтинга DLE Нравится - Не нравится
  • 80
Рубрика: DLE хаки » Хак для DLE
Ранее » DLE IF True« Далее Хак DLE MinusR
Добавление комментарияОставить комментарий
  • № :10
  • 30 ноября 2016 00:10
Цитата: Sergey
Хотя если честно, не получилось... в стиль тоже поставил, но пользы ноль... в новостях отображается и без стилей, а вот в других частях смешно выглядит
Внимание! У вас нет прав для просмотра скрытого текста.

ну как и любой хак, немного надо подредатировать код и стили, подозреваю проблема в надписи
, проще редактировать вот так

Ошибка в том, что вы не говорите версию движка, так подозреваю у вас версия 11.1 или нет ?????????


постр управляется стилями смотря в какой новости в короткой img-shortmain
  • № :9
  • 29 ноября 2016 23:53
Хотя если честно, не получилось... в стиль тоже поставил, но пользы ноль... в новостях отображается и без стилей, а вот в других частях смешно выглядит
Внимание! У вас нет прав для просмотра скрытого текста.
  • № :8
  • 29 ноября 2016 23:07
Сработало. Был бы благодарен если бы Вы помогли понять в чем я ошибаюсь, уже шаблон перерыл не могу понять как длину постера изменить, везде где есть значение постер менял цифру ничего не работает. И непонятно как поиск сполз в мобильной версии. Может я что-то лишнее вставил?
  • № :7
  • 29 ноября 2016 22:57
Цитата: Sergey
А у меня не вышло, звездочки остались, уже все испробовал, стиль не размещал, не знал куда
Внимание! У вас нет прав для просмотра скрытого текста.

1. версию движка надо указывать
2. стили это важно, в файл с расширением .CSS , например если это был бы шаблон от движка, папка Default/css/styles.css

И ещё в версии 11 в панели управления есть разные режимы рейтинга, 1,2,3 нужно попробовать один из вариантов.

Хотя возможно даже этот хак не надо для 11 версии, там такой уже есть режим подходящий вам.
  • № :6
  • 29 ноября 2016 22:41
А у меня не вышло, звездочки остались, уже все испробовал, стиль не размещал, не знал куда
Внимание! У вас нет прав для просмотра скрытого текста.
  • № :5
  • 24 октября 2016 17:56
можно ещё взять теги в fullstory.tpl оформления (категории даты и т.д. после тайтла), скопировать удалть все лишнее и туда добавить тег {rating}

Просто вы вставили {rating} в пустое место без оформления тегов стилями div , поэтому отступления нет
  • № :4
  • 24 октября 2016 17:51
в шаблоне значит есть такой стиль оформления, без слова просто left или так

<div style="margin-left:10px;">{rating}</div>
  • № :3
  • 24 октября 2016 16:53
Цитата: dle9.com
Как выровнять ?
http://img-host.org.ua/

Теперь вот так lol
  • № :2
  • 24 октября 2016 15:43
Цитата: DiGiTaL
Dle 11.0
Как выровнять ?
Внимание! У вас нет прав для просмотра скрытого текста.

сделать так

<div style="padding-left:10px;">{rating}</div>


если с левой стороны будет не ровно добавьте значения больше 10 в коде
  • № :1
  • 24 октября 2016 14:32
Dle 11.0
Как выровнять ?
Внимание! У вас нет прав для просмотра скрытого текста.