Все для DataLife Engine / DLE хаки / Хак для DLE / Хак для DLE вывести TopNews на отдельной странице

Хак для DLE вывести TopNews на отдельной странице


TopNews - тег вывода топ популярных новостей в шаблоне под управлением движка DataLife Engine, который выводится на всех страницах в блоке. Хак DLE вывести TopNews на отдельной странице, позволяет сделать целую страницу, на которой можно будет вывести весь список популярных публикаций вашего сайта, при этом красиво оформить, а при желании сделать подобное для других тегов движка дле, на основе данного примера.

Хак для DLE вывести блок topnews (лучшие новости) на отдельной странице, который разрабатывался для дле 9.7, будет работать на версии выше.
Перейдем к самой сути установки на dle9.com, чтобы получить такой эффект нам поможет редирект, благодаря чему мы сможем получить красивую ссылку типа
site ru/topnews/page/2


Открыть файл .htaccess
Найти строку:

# Редиректы


После нее вставить:

RewriteRule ^topnews(/?)+$ index.php?do=topnews [L]
RewriteRule ^topnews/page/([0-9]+)(/?)+$ index.php?do=topnews&cstart=$1 [L]


Теперь добавим основной обработчик:
Открыть файл engine/engine.php
Найти строку:

		} elseif ($do == 'lastnews') {


Перед ней вставить:

		} elseif ($do == 'topnews') {
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}
			$newsmodule = true;

			$url_page = $config['http_home_url'] . "topnews";
			$user_query = "do=topnews";

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}approve=1" . $where_date . " ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT " . $cstart . "," . $config['news_number'];
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1" . $where_date;


Теперь надо прописать свой префикс для файлов кеша.
Найти строку:

			} elseif ($do == "lastnews") {


Перед ней вставить:

			} elseif ($do == "topnews") {
				$cache_prefix = "_topnews";


Отлично, почти все. Осталось прописать заголовок для страницы.
Найти строку:

elseif ($do == 'lastnews') $nam_e = $lang['last_news'];


После нее вставить:

elseif ($do == 'topnews') $nam_e = "Популярные новости сайта dle9.com...";


Естественно пишем свой заголовок.

Вот и все :)

С уважением,
Олег Александрович a.k.a. Sander
Источник: nfhelp ru

Закачать хак вывести TopNews на отдельной странице

Hak-dlya-DLE-Topnews-na-otdelnoy-stranice.rar [13,33 Kb] (cкачиваний: 188)
  • 100

Комментарии 6

dle9.com от 1 июня 2018 12:42
Цитата: User
В дле 12.1 не работает тег [aviable=topnews][/aviable], как можно это исправить ?

Так указан адрес автора модуля, возможно есть новая версия или решение на его сайте.
User от 31 мая 2018 16:37
В дле 12.1 не работает тег [aviable=topnews][/aviable], как можно это исправить ?
dle9.com от 18 апреля 2015 14:51
Цитата: gtz1
На странице site ru/topnews/ берется шаблон с shortstory.ptl поскольку меняя стили в topnews.tpl ничего не происходит после очистки кэша движка + браузера. НА счет дивов не стал экспериментировать, закрыл боковое меню [not-aviable=topnews]. Вот поэтому необходимо расширить див с содержимым, который берется с краткой новости.А его трогать нельзя, тогда весь шаблон переделывать.(

Чтобы найти лишний див можно использовать браузер Мазила Ctrl+U ошибки будут выделены красным. А так сложно сказать главное с местом определились, в каком файле ошибка.
gtz1 от 18 апреля 2015 13:02
На странице site ru/topnews/ берется шаблон с shortstory.ptl поскольку меняя стили в topnews.tpl ничего не происходит после очистки кэша движка + браузера. НА счет дивов не стал экспериментировать, закрыл боковое меню [not-aviable=topnews]. Вот поэтому необходимо расширить див с содержимым, который берется с краткой новости.А его трогать нельзя, тогда весь шаблон переделывать.(
dle9.com от 18 апреля 2015 12:43
Цитата: gtz1
Здравствуйте, спасибо, все заработало, но некоторые дивы съехали, дизайн немного поплыл, подскажите где редактировать шаблон страницы site ru/topnews/ ?

Здравствуйте, попробуйте кеш почистить может из-за этого накладка получилась. И проверить ещё на Дефаулт шаблон поставить посмотреть на нем будут проблемы.
Больше мне кажется, что проблема в файле вашего шаблона topnews.tpl в нем есть ошибки с дивом.
gtz1 от 18 апреля 2015 11:57
Здравствуйте, спасибо, все заработало, но некоторые дивы съехали, дизайн немного поплыл, подскажите где редактировать шаблон страницы site ru/topnews/ ?
Добавить комментарий

Оставить комментарий

    • 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