Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Код template.php
Данный шаблон работает только в ajax режиме, не забудьте включить его для компонента в котором будете использовать.
Достаточной распаковать архив шаблона в /bitrix/#Шаблон сайта#/components/bitrix/system.pagenavigation.
И указать его в настройках постраничной навигации.
P.S: В шаблоне списка могут быть элементы вывод, которых требуется только 1 раз. Например - фильтр, или ссылка на подключения к RSS -каналу.
То вывод данных элементов я бы посетовал заключить в условие.
Назад в раздел
то ждем ваше обращение в нашей службе тех поддержки.
Постраничка как в соц. сетях.
Всем мы знаем эти бесконечные ленты новостей в соц. сетях. И это мне кажется удобно, когда контент подгружаться постепенно и не требуется щелкать на каждую страницу и жать пока она загрузиться. Вот шаблон компонента bitrix::system.pagenavigation:Код template.php
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <?CJSCore::Init(array("jquery"));?> <? $arResult["NavQueryString"] = str_replace('&','&',$arResult["NavQueryString"]); $do = preg_match('/.*bxajaxid=(\S+).*/',$arResult["NavQueryString"],$bxajaxid); ?> <sc ript> var ajax_nav = <?=CUtil::PhpToJSObject($arResult)?>; var bxajaxid = "<?=$bxajaxid[1]?>"; </sc ript> <? if(!$do) { ?> <div id ='ajax_nav'> </div> <sc ript type="text/javascript"> /* isset for javascript */ window.isset = function() { if (arguments.length===0) return false; var buff=arguments[0]; for (var i=0; i<arguments.length; i++) { if (typeof(buff)==='undefined') return false; buff = buff[arguments[i+1]]; } return true; } BX.ready( function() { $(window).scroll( function() { if($(window).scrollTop()+$(window).height()>=$('#ajax_nav').offset().top) { if (ajax_nav.NavPageCount > ajax_nav.NavPageNomer ) { if(bxajaxid.length == "") { bxajaxid = $('#ajax_nav').parents("div[id*='comp_']").attr('id').replace('comp_',''); url = location.pathname+'?PAGEN_'+ajax_nav.NavNum+'='+(parseInt(ajax_nav.NavPageNomer)+1)+'&bxajaxid='+bxajaxid+'&'+ ajax_nav.NavQueryString } else url = location.pathname+'?PAGEN_'+ajax_nav.NavNum+'='+(parseInt(ajax_nav.NavPageNomer)+1)+'&'+ ajax_nav.NavQueryString; if (!isset(window, "ajax_sent")) //&& ) { ajax_sent = true; $('#ajax_nav').addClass('bx-core-waitwindow'); $.get(url,function(data) { $('#ajax_nav').removeClass('bx-core-waitwindow'); bxajaxid = $('#ajax_nav').before(data); ajax_sent = false; }); }else if (ajax_sent == false) { ajax_sent = true; $('#ajax_nav').addClass('bx-core-waitwindow'); $.get(url,function(data) { $('#ajax_nav').removeClass('bx-core-waitwindow'); bxajaxid = $('#ajax_nav').before(data); ajax_sent = false; }); } } } }); }); </sc ript> <?}?> |
Достаточной распаковать архив шаблона в /bitrix/#Шаблон сайта#/components/bitrix/system.pagenavigation.
И указать его в настройках постраничной навигации.
P.S: В шаблоне списка могут быть элементы вывод, которых требуется только 1 раз. Например - фильтр, или ссылка на подключения к RSS -каналу.
То вывод данных элементов я бы посетовал заключить в условие.
if(!isset($_REQUEST['bxajaxid'])){ #Часть кода которая должна отработать однократно на страницы.# } |
Назад в раздел
Подписаться на новые материалы раздела: