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

Рубрика: Хаки для 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 вывести 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 на отдельной странице
  • 100
Рубрика: DLE хаки » Хак для DLE
Ранее » Устраняем ошибку повторной регистрации в DLE« Далее Установить свой шаблон странице короткой новости в DLE
Добавление комментарияОставить комментарий
  • № :4
  • 18 апреля 2015 14:51
Цитата: gtz1
На странице site ru/topnews/ берется шаблон с shortstory.ptl поскольку меняя стили в topnews.tpl ничего не происходит после очистки кэша движка + браузера. НА счет дивов не стал экспериментировать, закрыл боковое меню [not-aviable=topnews]. Вот поэтому необходимо расширить див с содержимым, который берется с краткой новости.А его трогать нельзя, тогда весь шаблон переделывать.(

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

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