prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Всё для вебмастера » Всё для DataLife Engine » DLE модули » AJAX навигация для тега Custom

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


Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
У нас вы можете скачать бесплатно AJAX навигация для тега Custom.


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

По факту, полноценная навигация в теге Custom невозможна. Однако можно ее сделать с помощью "костылей".
Вот решил поделиться с вами данной реализацией в качестве подарка. С Новым Годом!

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

Собственно пример работы можете посмотреть у меня на демо сайте d101.sandev.pro
А так же добавил его тут, на sandev.pro в блоке Топ дня

Установка
Открыть файл 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 с содержимым:


В папке engine/modules/ создать файл 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">
    {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 являются строго обязательными к заполнению, в том числе from="0"

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

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


+23
Просмотры: 4318 VIP ProWebber | Комментарии (11)
Теги: Sander, custom, navigation
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1D0Gmatist

  • 2 января 2014 14:21
  • Регистрация: 28.07.2012
  • ICQ: --
  • Комментариев: 297
  • Выкл.
Вот это подарок ... я две недели ломал голову 50% кода написал для навигации по кустому .. а тут всё уже есть ... спасибо )))

--------------------

0

#2Pan_Oleksandr

  • 2 января 2014 16:09
  • Регистрация: 8.08.2013
  • ICQ: --
  • Комментариев: 10
Здраствуйте. Может ктото помочь с настройкой стиля для навигации, а то не отображаетса сам стиль просто символи и все. Мой navigation.tpl вигледит вот так

<div class="navigation">
<span class="lcol navi_pages">{pages}</span>
<span class="rcol">
[prev-link]<span>Попередня</span>[/prev-link]  [next-link]
Наступна[/next-link]
</span>
</div>




0

#3Pan_Oleksandr

  • 2 января 2014 17:54
  • Регистрация: 8.08.2013
  • ICQ: --
  • Комментариев: 10
Вопрос изчерпан. Все зделал сам) Спасиб за хак/модуль)

0

#4nke

  • 3 января 2014 11:30
  • Регистрация: 31.03.2011
  • ICQ: --
  • Комментариев: 20
Действительно очень хорошая штукенция ... Огромное вам спасибо . Все работает идеально !!!

--------------------

0

#5donna

  • 3 января 2014 22:44
  • Регистрация: 11.11.2013
  • ICQ: --
  • Комментариев: 6
D0Gmatist,
Если это поставить в кустом твоя фича будет работать ???
http://prowebber.ru/dle/hacks/16100-dopolnitelnye-funkcii-v-page.html

0

#6Sander

  • 4 января 2014 11:43
  • Регистрация: 19.02.2010
  • ICQ: 404037556
  • Комментариев: 324
donna,
Строку в файле навигации:
echo "<div class=\"navigation\">".$pervpage.implode("",$s
idepage).$nextpage."</div>";

Заменить на
echo "<div class=\"navigation\">".$pervpage.implode("",$s
idepage).$nextpage."<span>".(($page-1)*$custom_l
imit)." - ".($page*$custom_limit)." из ".$count_all."</span></div>";



И еще, только обратил внимание, маленький FIX
После строки:
$count_all = ceil($count_all['c']/$custom_limit);

Вставить:
$_SESSION['custom_'.$id]['count_all'] = $count_all;

--------------------

+4

#7Pan_Oleksandr

  • 10 января 2014 19:42
  • Регистрация: 8.08.2013
  • ICQ: --
  • Комментариев: 10
Sander, а как можно вивести навигацию в отдельний блок?

0

#8Andy80

  • 26 января 2014 01:22
  • Регистрация: 28.01.2011
  • ICQ: 555957848
  • Комментариев: 28
После клика на следующую страницу (самый первый клик) пропадает контент. Остается только панель навигации (номера страниц и вперед-назад, последняя и т.д.).
В чем может быть причина?

0

#9Sander

  • 1 февраля 2014 22:19
  • Регистрация: 19.02.2010
  • ICQ: 404037556
  • Комментариев: 324
Andy80,
Если б все было идеально, вряд ли решение было бы в паблике.
Параметры custom запроса записываются в сессии пользователя при открытии страницы.
Если пользователь долго не заходил на сайт, потом зайдя попытается перейти по страницам навигации, то скрипт вернет пустоту, потому что значения сессии удалились а с ними и параметры тега custom.

--------------------

0

#10Andy80

  • 1 февраля 2014 23:14
  • Регистрация: 28.01.2011
  • ICQ: 555957848
  • Комментариев: 28
Sander,
Все дело в том, что это происходит при первой попытке перелистывания. В сессии и значений таких не было ранее.

0

#11XyuAdmin

  • 16 ноября 2014 19:22
  • Регистрация: 16.11.2014
  • ICQ: --
  • Комментариев: 30
х*якс навигация)) по сабжу. хороший модуль

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Ноябрь 2016 (7)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)
Июль 2016 (14)
Июнь 2016 (17)

Последние комментарии:

Искать людей

Ваши переписки