Редактирование рейтинга через админку - хак для DLE

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

Описание

Данный хак позволяет выставлять и изменять рейтинг новостей прямо в админ панели. Редактирование происходит на странице списка всех новостей. Вот как это выглядит:
 

При нажатии на рейтинг, он становится редактируемым. При записи нового значения и нажатии Enter, он сохраняется.
Хочу заметить, что  будем редактировать файлы скрипта, что не рекомендуют делать разработчики движка. А так же будем менять тип поля в базе для того, что бы можно было вносить рейтинг вида IMBD - по просьбе заказчика. Если Вам нужен стандартный рейтинг, то не вносите изменения в базе.

Установка и настройка

1. В файле engine/inc/editnews.php найти строку, примерно 511:
<td class="news-list-tab" style="width: 60px"><i class="icon-eye-open tip" data-original-title="{$lang['st_views']}"></i></td>
ниже вставить:
<td class="news-list-tab" style="width: 60px"><i class="icon-star"></i></td>

2. В этом же файле найти строку, примерно 285:
$entries .= "<a title='{$lang['edit_act']}' href=\"?mod=editnews&action=editnews&id={$row['id']}\">{$title}</a>
        <td class=\"news-list-tab\" style=\"text-align: center\"><a data-original-title=\"{$lang['st_views']}\" class=\"status-info tip\" href=\"{$full_link}\" target=\"_blank\">{$row['news_read']}</a></td><td class=\"news-list-tab\" align=\"center\">" . $comm_link;
заменить на:
$entries .= "<a title='{$lang['edit_act']}' href=\"?mod=editnews&action=editnews&id={$row['id']}\">{$title}</a>
        <td class=\"news-list-tab\" style=\"text-align: center\"><a data-original-title=\"{$lang['st_views']}\" class=\"status-info tip\" href=\"{$full_link}\" target=\"_blank\">{$row['news_read']}</a></td><td class=\"news-list-tab\" style=\"text-align: center\"><a href=\"#\" class='my_rating' data-id=\"".$row['eid']."\">".$row['rating']."</a></td><td class=\"news-list-tab\" align=\"center\">" . $comm_link;

3. В этом же файле найти строку, примерно 186:
$db->query( "SELECT p.id, p.date, p.title, p.category, p.autor, p.alt_name, p.comm_num, p.approve, p.fixed, e.news_read, e.votes FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) " . $where . " ORDER BY " . $order_by . " LIMIT $start_from,$news_per_page" );
и заменить на:
$db->query( "SELECT p.id, p.date, p.title, p.category, p.autor, p.alt_name, p.comm_num, p.approve, p.fixed, e.news_read, e.votes, e.eid, e.rating FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) " . $where . " ORDER BY " . $order_by . " LIMIT $start_from,$news_per_page" );

4. Найти в базе данных таблицу dle_post_extras и изменить тип поля rating с INT на DECIMAL со значением 2,1 (Это если Вы хотите сделать рейтинг типа IMBD).
на картинках пример:




 
5. В самый конец файла добавить код:
Внимание! У Вас нет прав для просмотра скрытого текста.


Для того что бы с сайта никто не могу выставить рейтинг, зайдите в файл engine/ajax/rating.php и на строке 17 просто вставьте: exit;

Что бы вывести рейтинг в новостях, вставьте шорт-код: {my-rating} в любое место shortstory.tpl и fullstory.tpl
Затем откройте файл engine/modules/show.short.php и найдите код, примерно 388 строка:
Внимание! У Вас нет прав для просмотра скрытого текста.


после него вставьте:
$tpl->set( '{my-rating}', $row['rating'] );

Теперь в файле engine/modules/show.full.php, найдите строки с таким же кодом, как и в предыдущем пункте примерно 768:
и ниже вставьте такой же код:
$tpl->set( '{my-rating}', $row['rating'] );

Вот и все изменения.
Напоминаю, что я пишу любые модули под DLE любой версии, разумеется платно. Кому нужна помощь пишите в скайп внизу сайта или в обратную связь.

Автор: Kylaksizov
Поделиться:

Комментарии ( 1 )


  1. avatar_//kylaksizov.ru/uploads/fotos/foto_717.jpg
    Александр Романюха 2 апреля 2017 15:16
    • +1
    Ответить
    Отличный модуль, все работает как надо! Спасибо
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

В корзине: 0 шт. 0 руб.
Отключите расширение AdBlock на нашем сайте!

Собеседники

Переписка

Нименование Количество Цена / 1 шт.
Всего: 0 руб.