Меня уже давно просили сделать этот скрипт, который работал бы без PHP. Данная версия самая стабильная, не использует ни одного гет запроса и даже выводит заголовок следующего или предыдущего материала при наведении на соответствующую кнопку. Если следующий или предыдущий материал не будут найдены, выйдет соответствующее уведомление в uWnd.alert окне.
Единственный огромный минус моего способа - максимальное количество материалов в модуле
не должно превышать 300-т штук. Если нужно, я покажу способ, как увеличить лимит с 300 до 600 материалов, но это уже потолок. Более 600 материалов без "глюков" сделать будет нельзя
На данном примере показана установка для модуля "Каталог файлов"
Для начала посмотрите
ДЕМО
Установка:
1#: Создайте информер следующего типа:
|
[ Каталог файлов · Материалы · Дата добавления материала A · Материалы: 300 · Колонки: 1 ] |
В шаблоне созданного информера замените всё на:
|
<div class="apoinfo" id="$ID$" url="$ENTRY_URL$">$TITLE$</div> |
2#: В самый низ вашего CSS вставьте:
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
|
.apoprevnext { clear: both; height: 30px; margin: 20px 0px; } .apoprevnext div { box-sizing: border-box; width: 200px; height: 40px; box-shadow: 1px 1px 1px #ddd; text-align: center; padding-top: 10px; cursor: pointer; } .apoprevnext div:hover { background: #eee; } .apopmat { float: right; } .aponmat { float: left; } |
3#: Управление дизайном - Каталог файлов - Страница материала и комментариев к нему - В то место, где должный отображаться кнопки, вставьте:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<div class="apoprevnext"><div class="apopmat">Предыдущий материал ►</div><div class="aponmat">◄ Следующий материал</div></div> <div class="apoinf" style="display:none;">$MYINF_5$</div> <script> var apoprev = $('.apoinf #$ID$').prev('.apoinfo'), aponext = $('.apoinf #$ID$').next('.apoinfo'); $('.apoprevnext .apopmat').attr('title', apoprev.text()).click(function() { if(apoprev.size() != 0) { location.replace(apoprev.attr('url')); } else { _uWnd.alert('Извините, предыдущий материал не найден', 'Внимание!', {w: 400, h: 120}); }; }); $('.apoprevnext .aponmat').attr('title', aponext.text()).click(function() { if(aponext.size() != 0) { location.replace(aponext.attr('url')); } else { _uWnd.alert('Извините, следующий материал не найден', 'Внимание!', {w: 400, h: 120}); }; }); // imapo.ru (c) 2016 </script> |
P.S. Не забудьте заменить код
$MYINF_5$ на код своего информера
Автор публикации
12
Я не понял вашего вопроса, но постараюсь на него ответить...
Комментарии: 393Публикации: 1096Регистрация: 27-08-2018
забираю
I have a problem with list of category IDs, I have too many categories, but there are not many informers.
Is there any solution for that? Can something in the code be replaced?
Thanks in advance for your reply.
Why do you need a list of IDS of all categories? This solution is designed to get a list of previous and next materials and there is no need to search for IDS of all categories
I have lots of series, and I want to be separately for each series.
Can you give me a link to an example page?
http://www.ludaksite.net/
If we get it, you have a drink ..... hahaha.
I have one idea how to get the previous and following materials for your site
Paste this code to the page with material and comments before last tag < /body >:
Script was tested on Lethal Weapon (2018). If the script is installed correctly, under the series will appear here are the buttons: https://yadi.sk/i/3dzp8ETpcpwZJQ
I'm speechless, you are really a genius ... thank you very much
Thank you!
http://prntscr.com/m3orwo
Categories management of publ