Постраничная навигация для тега CUSTOM в DLE 9.7

Постраничная навигация для тега Custom в DLEДобрый день. Сегодня расскажу про еще одну интересную задачу поставленную админом одного и из порталов созданных на DLE. Он попросил сделать постраничную навигацию для тега CUSTOM. Дело в том, что на главной странице сайта он выводил новости не тегом {content} как это предусмотрено движком, а тегом CUSTOM указывая из каких именно категорий нужно выводить новости на главную страницу.

Примерно вот таким образом:
[html][not-aviable=main]{content}[/not-aviable] {custom category="2,7" template="custom" aviable="global" from="0" limit="10" } [/html]

Как работает плагин:

Плагин подключается в шаблоне главной страницы main.tpl. Там же ему передается параметр a_cat: — это список категорий из которых тегу custom нужно вывести новости на главную. Располагается он ниже тега CUSTOM. Он смотрит в базе сколько новостей необходимо вывести и делит их на странички.
Если Вы переходите на другую страничку, 2-ю, 3-ю и.д. плагин ограничивает вывод тега Custom теми новостями которые должны содержаться на 2-ой и 3-й странице соответственно. Визуально это выглядит как обычная навигация по страничкам.

Например подключения в main.tpl:
[html] [not-aviable=main]{contetn}[/not-aviable]

[aviable=main] {custom category="1,2,3,4" template="shortstory" aviable="main" from="0" limit="5" cache="no"}

<div class="bnnavi">
<div class="navigation">
{include file="custom_page_navi.php?a_cat=1,2,3,4&a_run=main_tpl"}
</div>
</div>
[/aviable] [/html]

Настройка:

Количество новостей на одну страницу плагин берет из настроек в аминке.

Установка:

В main.tpl подключить. И задать категории из которых выводит новости тег custom. Подключайте его строкой ниже.

Скопировать два файла:
1. custom_page_navi.php в корень сайта
2. custom_page_navi.api.php в папку с модулями \engine\modules

Изменить файл \engine\modules\functions.php
Найти:
[php] $sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE " . $stop_list . $where_category . " AND approve" . $where_date . " ORDER BY " . $fixed . $news_sort . " " . $news_msort . " LIMIT " . $custom_from . "," . $custom_limit;
[/php] добавить выше:
[php] if ($a_run=’main.tpl’){ $_SESSION[‘a_run’] =’function.php’; };
include_once ‘custom_page_navi.php’;
[/php]

Живой пример:

Портал на котором работает плагин: urokizagruzi.com

Как его получить:

Сделать запрос по почте или через комментарии.
Просто скачать с сайта.

[note] Версия плагина для DLE 10.
[/note]

Когда установите отправьте мне пожалуйста ссылку на свой сайт.

Метки: нет меток

39 комментариев

Добавить комментарий для Acid Отменить ответ

Your email address will not be published. Required fields are marked *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.