DLE модуль AJAX навигация для тега Custom

Категория: Модули DLE » Модуль для DLE 13.0, 12.1, 12.0, 11.3, 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8
DLE модуль AJAX навигация для тега Custom
Первоклассный на http://www.dle9.com/ представляем DLE модуль AJAX навигация для тега Custom — это блок выводимый тегом Custom, где новости будут иметь навигацию на AJAX, при выборе страницы обновление происходит только в блоке, а вся страница остается прежней. www.dle9.com
Хотя по сути полноценная навигация при помощи тега Custom невозможна, но если воспользоваться маленькими хитростями "костылями" можно сделать такую реализацию.

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

Установка
В папку engine/ajax/ добавить из архива файл custom.php
В папку engine/modules/ добавить из архива файл custom_navigation.php

В любом подключенном к шаблону JS файле добавить код функции или создать файл в папке js/libs.js прописать в main.tpl в самом начале
<script type="text/javascript" src="{THEME}/js/libs.js"></script>
до тега head, а в созданном файле js/libs.js добавить код ниже:
function custom_navigation(id,p){
    $.get(dle_root+"engine/ajax/custom.php",{id:id,page:p},function(d){
        $("#"+id).html(d);
    });
    return false;
}


Открыть файл engine/modules/functions.php
Найти строку:
    $sql_select .= " WHERE ".implode(' AND ', $where)." ORDER BY " . $fixed . $news_sort . " " . $news_msort . " LIMIT " . $custom_from . "," . $custom_limit;

ПЕРЕД ней вставить:
    if(preg_match("#idblock=['\"](.+?)['\"]#i",$param_str,$match)){
        $_SESSION['custom_'.$match[1]] = array("string"=>$param_str,"where"=>implode(' AND ', $where));
    }


И основная часть - шаблон файла navigation.tpl:
<div id="custom-ajax-test">

{custom category="8" from="0" limit="5" idblock="custom-ajax-test"}
{include file="engine/modules/custom_navigation.php?id=custom-ajax-test"}

</div>


Обратите внимание, что custom-ajax-test будет 3 раза повторяться. Это и есть ID блоки в котором меняются страницы.
Обратите внимание на то, что последние 3 параметра тега custom т.е. (category="8" from="0" limit="5") являются строго обязательными к заполнению, в том числе from="0"

Оформление стилей и шаблонов делать придется вам самим. Уверен, вы справитесь ;)
Версия DataLife Engine 10
С уважением,
Олег Александрович a.k.a. Sander

Скачать у нас модули для dle, как DLE модуль AJAX навигация для тега Custom
DLE хак AJAX навигация для тега Custom — блок Custom с навигацией на AJAX, при выборе страницы обновление происходит в блоке, а вся страница остается вы найдете всё лучшее у нас форумы, хаки, модули, шаблоны.
  • 100
Рубрика: DLE модули » Бесплатные
Ранее » Модуль для DLE Fav-All 2.0« Далее Случайная новость для DLE Random News
Нажмите на ссылку, чтобыОставить комментарий
  • № :2
  • 17 февраля 2014 09:36
Цитата: qunser
У вас случаем на сайте не найдётся модуль Ротатор баннеров DLE, который работал бы на 10.1 версии ? Может есть старые модули, но рабочие, пока только 1 установил и он показывает ошибки, не рабочий.


Есть только такой вариант Установка DLE Ротатор баннера

Других опубликованных нет, но есть не опубликованные два для любых версий движка дле, будут добавлены в течение месяца
  • № :1
  • 17 февраля 2014 03:22
У вас случаем на сайте не найдётся модуль Ротатор баннеров DLE, который работал бы на 10.1 версии ? Может есть старые модули, но рабочие, пока только 1 установил и он показывает ошибки, не рабочий.