Регистрация

Хак AJAX навигация для тега Custom

TipTop 2-01-2014, 17:06 2178 Хаки DLE

Хак AJAX навигация для тега Custom


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

Для установки проделываем несколько действий
Открыть файл 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));
    }



В папке engine/ajax/ создать файл custom.php с содержимым:
custom.php



В папке engine/modules/ создать файл custom_navigation.php с содержимым:
custom_navigation.php



В любом подключенном к шаблону JS файле прописать код функции:
function custom_navigation(id,p){
    $.get(dle_root+"engine/ajax/custom.php",{id:id,page:p},function(d){
        $("#"+id).html(d);
    });
    return false;
}



И основная часть - шаблон:
<div id="custom-ajax-test">
    &#123;custom category="8" from="0" limit="5" idblock="custom-ajax-test"}
    &#123;include file="engine/modules/custom_navigation.php?id=custom-ajax-test"}
</div>


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

Настройку стилей и шаблонов возложу на ваши хрупкие плечи. Уверен, вы справитесь ;)

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

Другие публикации по категории:

Кастомизация облака тегов

Решил попробовать сделать симпатичные ссылки в облаке тегов и столкнулся с несколькими проблемами

13.01.17 Хаки DLE
Хак Топ просмотров новостей за текущий день

Интересный хак, который с помощью тега custom даст вам просматривать материал за текущий день.

09.12.13 Хаки DLE
Сортировка по количеству скачиваний в custom для DLE

Может понадобится небольшой хак для модуля custom. Теперь можно в теге custom ставить сортировку по

06.04.13 Хаки DLE

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Powered by Dleshka.org. Сайт предназначен для выбора шаблонов и дополнений с использованием CMS DataLife Engine.
Закрыть