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

Категория: Модули 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 модуль 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
  • 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 установил и он показывает ошибки, не рабочий.