map rss

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Оценка

Тема в разделе:Опросы

demidems

Просмотров: 9321

Ответов: 0

Автор: demidems

11-06-2014, 13:23

Не правильно сделан шаблон вк для DLE

Тема в разделе:Dle

nikitashafarenko2012

Просмотров: 33091

Ответов: 0

Автор:

1-01-1970, 03:00

На этой странице вы можете скачать Модуль topnews в DLE 9.2 под микроскопом, или как заставить его правильно работать .

Данный материал предоставлен сайтом LeaderDLE.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Модуль topnews в DLE 9.2 под микроскопом, или как заставить его правильно работать

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

Думал вообще-то начать без встпуления, но...как же - пишу ведь я, а я без вступления не могу :)). Итак, модуль topnews. Что это вообще такое? Для тех, кто не знает - этот модуль входит в стандартную сборку DLE-движка, и присуттсвует практически во всех версия этой CMS. Подключается к сайту путем вставки в шаблон main.tpl в нужном месте тега {topnews}. После включения данного тега в шаблон, в том месте где Вы его ставили будут выводится самые популярные статьи, в виде списка.

Для более понятного уяснения материала давайте все рассматривать на практике. Откройте файл topnews.php, он находится в папке engine/modules. Там находим строчку:

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );



Это самая нужная нам строчка, в которой мы можем производить необходимые настройки этого модуля. Начнем с простого - для того что увеличить количество выводимых новостей этим модулем нужно изменить в части кода

DESC LIMIT 0,10" );


цифру 10 поменяйте на нужную Вам - это и есть цифра, отвечающая за количество новостей в блоке topnews.

Далее, излагаю чисто свое мнение - изначально этот модуль работает неправильно, т.е. новости, которые он выводит, я считаю, что отбираются не по тем критериям. Изначально, модуль выбирает из базы новостей самые рейтинговые новости, т.е те новости, которой пользователи Вашего сайта проставили больше всего рейтинга в том малюсеньком блоке с 5-тибальной шкалой рейтинга. Но вот скажите мне, ну кому этот рейтинг нужен, многие вообще его не замечают, а есть еще куча уникумов, кторые специально рейтинг понижают, ставя единицы. Так вот, мое мнение, что модуль topnews должен выводить новости в порядке, соответствующем количеству ПРОСМОТРОВ новости. Вот так будет правильный модуль, который выводит наиболее прочитанные (просмотренные) новости на сайте.

Я думаю многие со мной согласятся. Модуль topnews вообще как-то странно устроен - он проверяет новость по порядку сначала на рейтинг новости, потом на количество комментариев у новости, и уж только после этого смотрит на количество просмотров. Я соглашусь с теми, что рейтинг популярных новостей можно также строить и по количеству комментариев, так что ниже и мы и рассмотрим как сделать вывод новостей по количеству просмотров и по количеству комментариев.

Для того чтобы сделать вывод новостей по количеству просмотров новости делаем следующее - в строке

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );



удаляем rating DESC, comm_num DESC, чтобы получилось следующее

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY news_read DESC, date DESC LIMIT 0,10" );


Для того чтобы выводились новости по количеству комментариев у новости, то делаем почти тоже самое, только оставляем comm_num DESC

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY comm_num DESC date DESC LIMIT 0,10" );



Или можно совместить эти два параметра вывода удалив из строки только rating DESC, .

И, подводя итоги, я хочу поделиться также способом, касающимся того, как сделать чтобы новости выводились не за месяц (как по умолчанию стоит в модуле), а за любой срок. В Интернет по этому поводу все ссылки введут на сайты, рекомендующие удалять строку

$this_month = date( 'Y-m-d H:i:s', $_TIME );


и заменять нижеследующую измененным кодом.

На этот счет у меня также свое мнение. Ничего удалять не нужно, просто нужно правильно изменять нужную строку. Итак, для того чтобы изменить интервал, за который выводятся новости в блоке topnews, нужно в строке

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );



изменить параметр INTERVAL 1 MONTH на нужное количество месяцев, т.е. если мы хотим чтобы рейтинг строился за полгода, то строка должна иметь вид

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 6 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );


А если мы хотим видеть вывод новостей вообще за все время существования сайта, то достаточно в параметре интервала указать какое-то выдуманное ОГРОМНОЕ число, взятое "с потолка"

$db->query( "SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 712548 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );



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

Вообщем-то и все по модулю topnews, надеюсь моя статья Вам пригодится, если что-то не получается - пишите в коментах вопросы.

P.S. Для того чтобы добавить title (всплывающие подсказки) для ссылок в блоке, то в строке

$link = "<a {$go_page}href=\"" . $full_link . "\">" . stripslashes( $title ) . "</a>";


сделайте такие изменения

$link = "<a {$go_page}href=\"" . $full_link . "\" title=\"сюда вписывайте текст для титла\">" . stripslashes( $title ) . "</a>";;



Также в title блока topnews можно включить даже название новости, для этого сделайте такие изменения

$link = "<a {$go_page}href=\"" . $full_link . "\" title=\"" . $title . " сюда вписывайте текст для титла\">" . stripslashes( $title ) . "</a>";


P.S.S. И еще один совет по модулю topnews - для того чтобы изменить количество символов обрезания названия новости в ссылке блока topnews в строке

if( strlen( $row['title'] ) > 55 ) $title = substr( $row['title'], 0, 55 ) . " ...";



цифру 55 измените на нужную Вам - чем больше эта цифра, тем длинее будет ссылка.

  • 85
Вернуться
17-09-2011, 00:27 / Автор: kubanochka / Просмотров: 3023
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

Апдейты Google и Яндекс


Апдейты Яndex тИЦ
04.07.201417.04.201411.02.2014

Апдейты Яndex выдачи
18.07.201413.07.201408.07.2014

Апдейты ЯКаталога
25.07.201423.07.201422.07.2014

Апдейты Google
06.12.201306.02.201308.11.2012

Облако тегов

9.2, 9.3, 9.4, cms, dle, DLE 9.4, error 404, ucoz, бесплатные, варезник, для ucoz, для юкоз, игровой, кино шаблон, модуль, модуль для dle, модуль для dle 10.0, модуль для dle 9.4, модуля, новостной, Скачать, Скрипт, скрипты, скрипты для ucoz, универсальный, хак, хак для dle 10.0, хаки для dle, Шаблон, шаблон dle 10.0, шаблон dle 9.6, шаблон dle 9.7, шаблон dle 9.8, шаблон для ucoz, шаблона, шаблоны, шаблоны dle 9.5, Шаблоны для DLE 9.4, Шаблоны для DLE 9.5, Юкоз

Показать все теги

Опросы

Оцените работу движка

Лучший из новостных
Неплохой движок
Устраивает ... но ...
Встречал и получше
Совсем не понравился

Друзья

Рекомендуем

п»ї