Содержание
Сегодня мы рассмотрим возможность добавления себе на сайт юзабельную кнопку, которая позволяет заменить стандартный функционал переключения страниц материалов модулей. Исключает необходимость переходить между страницами модуля и подгружать быстро материалы в одном месте по клику по кнопке.
Скрипт поддерживается лишь в следующих модулях:
В модулях блог и новости установка требуется в шаблонах:
В модулях каталогах (файлов, статей, сайтов, объявлений и игр), установка требуется в шаблонах:
Важно! Скрипт пример ниже использовать только в модулях каталогах (файлов, стетей, сайтов, объявлений и игр).
Приступаем непосредственно к установке скрипта, вам в перечисленных шаблонах на шаге, который описан немного выше требуется найти оператор:
$BODY$
И заменить его на следующий код:
<div id="contik">$BODY$</div>
<div style="display:none;" id="selector">$PAGE_SELECTOR$</div>
<script type="text/javascript">
if ($("#selector").find(".swchItem:contains('»')").text() == '»') {
$("#selector").after('<br><div id="nextCont" class="input_submit alt"><div onclick="Conti.to();" style="padding:3px;"><b>Показать еще</b></div></div>');
};
Conti = {
to:function(){
$("#nextCont").html('<div style="padding:4px"><img src="https://mybloga.com/img/pubs/loading.gif" border="0" /></div>');
nextik = $("#selector").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/НАЗВАНИЕ МОДУЛЯ/0-'+num, function(next){
$("#contik").append( $("#contik", next).html() );
$("#selector").html( $("#selector", next).html() );
$("#nextCont").html('<div onclick="Conti.to();" style="padding:3px;"><b>Показать еще</b></div>');
if ($("#selector", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
});
}
}
</script>
Для модулей блог и новости решение немного отличается так как там и переключатель страниц системно в шаблоне встроен и тянется с оператора $BODY$, в результате в шаблоне нужно заменить $BODY$ на следующий код:
<script type="text/javascript">
if ($("#pagesBlock1").find(".swchItem:contains('»')").text() == '»') {
$("#pagesBlock1").after('<br><div id="nextCont" class="input_submit alt"><div onclick="Conti.to();" style="padding:3px;"><b>Показать еще</b></div></div>');
};
Conti = {
to:function(){
$("#nextCont").html('<div style="padding:4px"><img src="https://mybloga.com/img/pubs/loading.gif" border="0" /></div>');
nextik = $("#pagesBlock1").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/НАЗВАНИЕ МОДУЛЯ/?page'+num, function(next){
$("#contik").append( $("#contik", next).html() );
$("#pagesBlock1").html( $("#pagesBlock1", next).html() );
$("#nextCont").html('<div onclick="Conti.to();" style="padding:3px;"><b>Показать еще</b></div>');
if ($("#pagesBlock1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
});
}
}
</script>
<style>#pagesBlock1 {display:none;}</style>
Что важно помнить при использовании данного скрипта, выше в скрипте прописано текстом $.get('/НАЗВАНИЕ МОДУЛЯ/ там где "Название модуля" стоит прописать урл главной модуля в котором устанавливаете скрипт, то есть ( load, publ, dir, board. stuff, news или blog ). Это обязательно нужно прописать иначе скрипт не заработает.
И еще важно, скрипт работает лишь при использовании версии библиотеки jQuery 1.12.4, при использовании версии 3.6.0 он не работает, так что имейте это ввиду.
Лицензия: CC BY-SA 4.0
Автор: Юрий Герук
Благодарность автору!|
| |
Здравствуй Гость, комментарии могут оставлять только зарегистрированные пользователи, зарегистрируйтесь и поделитесь мнением о материале выше Регистрация или Войти.