Протестировал, внёс мелкие правки. На 18.0 работает. Инструкции в Заметках.Кто-то тестировал на 18.0? Будет работать?)
Будет независимая навигация. URL страницы не меняется.Такой вопрос:
В DLE шаблоне в категории я вывожу с помощью custom несколько блоков с navigation="yes"
И при навигации в одном custom она также переключается у всех custom блоков на этой странице. (Речь про работу без вашей модификации)
С AJAX навигацией (эти плагином) будет независимая навигация для каждого блока или аналогично как на стандартной?
кэшируетсяЗапросы через AJAX, как тут с кешированием обстоят дела? кешируется ли ответ адекватно при переходе на страницы или нет?
Тут момент один с запоминанием последней выбранной страницы при постраничной навигации.Добавил кэширование и запоминание последней выбранной страницы при постраничной навигации.
Сделать, конечно, можно... Но мне это не нужно. Напомню, модуль бесплатный, делал для себя, каждому не угодишь... Код открыт, дерзайте)Тут момент один с запоминанием последней выбранной страницы при постраничной навигации.
Можно ли сделать чтобы запоминало только пока ты внутри категории? Тость если вышел с категории например в другую и вернулся обратно, чтобы запоминание сбросилось, так вроде бы логиченее было бы.
Спасибо за помощь в любом случае! Понимаю, предложил только потому что показалось что это стоило бы сделать для всех по дефолту, тк это выглядит логичным (по моему мнению).Сделать, конечно, можно... Но мне это не нужно. Напомню, модуль бесплатный, делал для себя, каждому не угодишь... Код открыт, дерзайте)
Запоминие страниц реализовано в JS коде, модернизируйте его для учета категории.
работаетcache="yes" или
cache="1h" работает же тут?
1. Лишней кавычки нетЛишняя кавычка в коде:
<a href=\"/page/{$count_all}}/\" data-id=\"{$id}\" data-page=\"{$count_all}\">{$count_all}</a>
Также кнопка назад показывает не верные стр. Возможно эта строка:
$tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", ($page != 1) ? "<a href=\"/page/".($page + 1)."/\" data-id=\"{$id}\" data-page=\"".($page - 1)."\">\\1</a>" : "<span>\\1</span>");
Замените JS-код на код из спойлераТут момент один с запоминанием последней выбранной страницы при постраничной навигации.
Можно ли сделать чтобы запоминало только пока ты внутри категории? Тость если вышел с категории например в другую и вернулся обратно, чтобы запоминание сбросилось, так вроде бы логиченее было бы.
/* AJAX навигация в custom */
$(document).on('click', 'a[data-page]', function(){
let id = $(this).data('id'), page = $(this).data('page'), next = ($(this).data('next')) ? this : '';
custom_navig(id,page,next);
return false;
})
let matches = window.location.href.match(/\/([^\/?#]+)\/?[?#]?/), ccat = matches && matches[1] ? matches[1] : '';
$(function(){
$('.custom_block').each(function(){
let id = $(this).attr('id'), page = localStorage.getItem('custom_'+ccat+id);
if(page != '1') custom_navig(id, page);
})
})
function custom_navig(id,page,next){
let hh = $('.header').height();
$.get(dle_root + 'engine/ajax/controller.php?mod=custom',{id:id,page:page},function(d){
if(!next){
$("#"+id).html(d);
localStorage.setItem('custom_'+ccat+id,page);
} else {
next.closest('[id]').remove();
$("#"+id).append(d);
$('html,body').animate({scrollTop: $('#'+id+page).offset().top-(hh*2)},600);
}
})
}
более простое решение: измените id="id" на id="id{category-id}" и block="id" на block="id{category-id}"Решение временное и не совсем корректное, но пока можно попробовать использовать
Там речь про скобку а не кавычку, я подумал об одном а написал о другом (скобку фигурную ввыделил жирным)1. Лишней кавычки нет
Хорошее решение!более простое решение: измените id="id" на id="id{category-id}" и block="id" на block="id{category-id}"
Да, вы правы. Спасибо, исправил. Добавил в Заметки решение по категориям.Там речь про скобку а не кавычку, я подумал об одном а написал о другом (скобку фигурную ввыделил жирным)