• Главная
  • uCoz
  • Кнопка Показать еще вместо переключателей страниц
Кнопка Показать еще вместо переключателей страниц

Кнопка Показать еще вместо переключателей страниц

О чем материал ?

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

В каких модулях можно установить данный скрипт ?

Скрипт поддерживается лишь в следующих модулях:

  • Каталог файлов load
  • Каталог статей publ
  • Каталог сайтов dir
  • Доска объявлений board
  • Онлайн игры styff
  • Новости сайта news
  • Блог blog

В каких шаблонах модулей требуется установка кода скрипта ?

В модулях блог и новости установка требуется в шаблонах:

  • Страница архива материалов
  • Главная страница блога

В модулях каталогах (файлов, статей, сайтов, объявлений и игр), установка требуется в шаблонах:

  • Главная страница модуля
  • Страница со списком материалов раздела
  • Страница со списком материалов категории

Как установить себе на сайт кнопку "Показать еще" вместо переключателей страниц ?

Важно! Скрипт пример ниже использовать только в модулях каталогах (файлов, стетей, сайтов, объявлений и игр).

Приступаем непосредственно к установке скрипта, вам в перечисленных шаблонах на шаге, который описан немного выше требуется найти оператор:

$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

Автор: Юрий Герук

Похожие материалы:
Помогла ли вам статья?
Да Нет
Статья оказалась полезной для 0 человек
avatar
Извините, не работает этот скрипт. Версия jQuery 1.12.4 стоит верно, название модуля news прописал, но кнопки нет и видны переключатели.
Автор: Уточните пример сайта где проверяете. Адрес сайта уточните.
avatar
Адрес сайта https://paranormal-news.ru/ скрипт стоит в новостях, в шаблоне архив материалов.
Автор: Да, для модулей блог и новости своя особенность. Поправили и дополнили статью. У вас на сайте уже так же работает. Проверьте.
avatar
Вы наверное что-то делаете со скриптом, так как у меня сейчас появилась надпись "Показать еще", но при нажатии на нее появляются еще несколько новостей и все, больше надписи "Показать еще" нету и страниц пагинации нету. И эту надпись надо как-то оформлять, делать жирнее или выделить в рамку, так как она никак не стилизована, даже не центрирована.
avatar
На кнопку нажимаешь, появляется несколько новостей и все. Больше кнопки "Показать еще" нету. Как смотреть следующие материалы? Что-то недоработано.
Автор: Чистите кэш в браузере, кнопка выше. Если не нравится как работает сделайте лучше.
avatar
Да мне нравится, только юзер же не будет листать вверх, чтобы снова нажать эту кнопку. Эх.
Автор: Позже посмотрим, доработаем и может стили напишем для красоты.