Показать еще / ajax подгрузка элементов в Битрикс

Постраничная ajax навигация по кнопке «показать ещё» для 1С-Битрикс

Пример для компонентов bitrix:news.list или bitrix:catalog.section

  1. Создать свой шаблон компонента постраничной навигации bitrix:system.pagenavigation
    <?if($arResult["NavPageCount"] > 1):?>
        <?if ($arResult["NavPageNomer"]+1 <= $arResult["nEndPage"]):?>
            <?
                $plus = $arResult["NavPageNomer"]+1;
                $url = $arResult["sUrlPathParams"] . "PAGEN_1=" . $plus
            ?>
            <div class="load_more" data-url="<?=$url?>">
                Показать еще
            </div>
        <?else:?>
            <div class="load_more">
                Загружено все
            </div>
        <?endif?>
    <?endif?>
  2. Скрипт в script.js
    $(document).ready(function(){
        $(document).on('click', '.load_more', function(){
            var targetContainer = $('.loadmore_wrap'),          //  Контейнер, в котором хранятся элементы
    url = $('.load_more').attr('data-url'); // URL, из которого будем брать элементы if (url !== undefined) { $.ajax({ type: 'GET', url: url, dataType: 'html', success: function(data){ // Удаляем старую навигацию $('.load_more').remove(); var elements = $(data).find('.loadmore_item'), // Ищем элементы
    pagination = $(data).find('.load_more');// Ищем навигацию targetContainer.append(elements); // Добавляем посты в конец контейнера targetContainer.append(pagination); // добавляем навигацию следом } }) } }); });
  3. В шаблоне компонента списка новостей news.list до цикла задать класс обёртки loadmore_wrap
  4. В цикле присвоить класс элементу loadmore_item
  5. В настройках компонента выбрать вышесозданный шаблон постраничной навигации
Продолжая использовать веб- сайт beta-code.ru, вы даете согласие на обработку файлов cookie, пользовательских данных (сведения о местоположении; тип и версия ОС; тип и версия Браузера; тип устройства и разрешение его экрана; источник откуда пришел на сайт пользователь; с какого сайта или по какой рекламе; язык ОС и Браузера; какие страницы открывает и на какие кнопки нажимает пользователь; ip-адрес) в целях функционирования сайта, проведения ретаргетинга и проведения статистических исследований и обзоров. Если вы не хотите, чтобы указанные данные обрабатывались, покиньте сайт.
Принять