Сохранение значений

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 13:59

Код: Выделить всё

function loadPage(url) {
     $.get(url, function(data) {
           var pagination = $('ul.pagination', data);
           $('.listview_products').html($('.listview_products', data).html());
           if (pagination.length > 0) {
               $('ul.pagination').html(pagination.html());  
           } else {
               $('ul.pagination').remove();
               $('.listview_products').infiniteScroll('destroy');
           }
    });
}
После &nbsp должна стоять точка с запятой   (это по валидности верстки).
Ну и в общем и целом валидность можно проверить здесь https://validator.w3.org/, там есть замечания по верстке.
Последний раз редактировалось yiiliveext 2020.01.15, 15:14, всего редактировалось 2 раза.

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 15:10

Хотя там у вас еще одна проблема, пагинация почему-то находится внутри .listview_products
Поэтому корректней будет так

Код: Выделить всё

     function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('#listview-products > .listview_products >').html($('#listview-products > .listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('#listview-products > .listview_products').infiniteScroll('destroy');
             }
         });
     }
     
Это при такой конфигурации пейджера

Код: Выделить всё

         'pager' => [
             'class' => InfiniteScrollPager::className(),
             'widgetId' => 'listview-products',
             'itemsCssClass' => 'listview_products',
         ],
     
И я бы порекомендовал никогда не делать на одной странице классы/айди вроде 'listview-products' и 'listview_products'. Перепутать - раз плюнуть, а искать ошибку потом можно очень долго.

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 15:21

yiiliveext писал(а):
2020.01.15, 15:10
Хотя там у вас еще одна проблема, пагинация почему-то находится внутри .listview_products
Поэтому корректней будет так

Код: Выделить всё

     function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('#listview-products > .listview_products >').html($('#listview-products > .listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('#listview-products > .listview_products').infiniteScroll('destroy');
             }
         });
     }
     
Это при такой конфигурации пейджера

Код: Выделить всё

         'pager' => [
             'class' => InfiniteScrollPager::className(),
             'widgetId' => 'listview-products',
             'itemsCssClass' => 'listview_products',
         ],
     
Я чтобы не путаться сделал ранее вот что
В основном представлении id = listview-products

Код: Выделить всё

<div id="listview-products" class="col-md-12">
	<?= $this->render('_listview_products', [
		'dataProvider' => $dataProvider,
 		'itemView' => $itemView,
	]) ?>
</div>
А в _listview_products уже через нижнее подчеркивание id = listview_products

Код: Выделить всё

<?php
use yii\widgets\ListView;
use nirvana\infinitescroll\InfiniteScrollPager;
?>
<?= ListView::widget([
    'id' => 'listview_products',
    'options' => ['class' => 'listview_products'],
    'itemOptions' => ['class' => 'item'],
    'dataProvider' => $dataProvider,
    'pager' => [
        'class' => InfiniteScrollPager::className(),
        'widgetId' => 'listview_products',
        'itemsCssClass' => 'listview_products',
        'pluginOptions' => [
            'contentSelector' => '.listview_products',
             'loading' => [
                'msgText' => "<em>Загрузка товаров...</em>",
                'finishedMsg' => "<em>Товаров больше нет!</em>",
            ],
        ],
    ],
    'itemView' => $itemView,
    'layout' => '<div class="row">{items}</div>{pager}',
])?>

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 15:30

yiiliveext писал(а):
2020.01.15, 15:10
И я бы порекомендовал никогда не делать на одной странице классы/айди вроде 'listview-products' и 'listview_products'. Перепутать - раз плюнуть, а искать ошибку потом можно очень долго.
Могу поменять id в двух представлениях по рекомендации, чтоб проще было вам для понимания в помощи мне :)
И скорее всего точно нужно менять их
Поменял в основном представлении

Код: Выделить всё

<div id="products" class="col-md-12">
В представлении с listView

Код: Выделить всё

<?= ListView::widget([
    'id' => 'listview-products',
    'options' => ['class' => 'listview_products'],
    'itemOptions' => ['class' => 'item'],
    'dataProvider' => $dataProvider,
    'pager' => [
        'class' => InfiniteScrollPager::className(),
        'widgetId' => 'listview-products',
        'itemsCssClass' => 'listview_products',
        'pluginOptions' => [
            'contentSelector' => '.listview_products',
             'loading' => [
                'msgText' => "<em>Загрузка товаров...</em>",
                'finishedMsg' => "<em>Товаров больше нет!</em>",
            ],
        ],
    ],
    'itemView' => $itemView,
    'layout' => '<div class="row">{items}</div>{pager}',
])?>
Последний раз редактировалось unknownby 2020.01.15, 15:39, всего редактировалось 1 раз.

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 15:39

Я чтобы не путаться сделал ранее вот что
В основном представлении id = listview-products
А в _listview_products уже через нижнее подчеркивание id = listview_products
Еще хуже, но должно работать в вашем конкретном случае, хотя наверное в общем случае будет так

Код: Выделить всё

 function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview_products ul.pagination', data);
             $('#listview_products.listview_products >').html($('#listview_products.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview_products ul.pagination').remove();
                 $('#listview_products.listview_products').infiniteScroll('destroy');
             }
         });
     }
Кстати, если убрать из конфига 'contentSelector' => '.listview_products', то не будет работать, там ошибка в виджете.
А если задете его, то можно прям его и использовать

Код: Выделить всё

 function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview_products ul.pagination', data);
             $('.listview_products >').html($('.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview_products ul.pagination').remove();
                 $('.listview_products').infiniteScroll('destroy');
             }
         });
     }

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 15:48

yiiliveext писал(а):
2020.01.15, 15:39

Код: Выделить всё

 function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview_products ul.pagination', data);
             $('#listview_products.listview_products >').html($('#listview_products.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview_products ul.pagination').remove();
                 $('#listview_products.listview_products').infiniteScroll('destroy');
             }
         });
     }
Переделал вот так, но после удаления infinitescroll при pagination.length > 0 снова нужно инициализировать скрипт

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#products ul.pagination', data);
             $('#products').html($('#products >', data).html());
             if (pagination.length > 0) {
                $('#products ul.pagination').html(pagination.html());
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('.listview_products').infinitescroll('destroy');
             }
         });
     }

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 15:49

unknownby писал(а):
2020.01.15, 15:30
yiiliveext писал(а):
2020.01.15, 15:10
И я бы порекомендовал никогда не делать на одной странице классы/айди вроде 'listview-products' и 'listview_products'. Перепутать - раз плюнуть, а искать ошибку потом можно очень долго.
Могу поменять id в двух представлениях по рекомендации, чтоб проще было вам для понимания в помощи мне :)
И скорее всего точно нужно менять их
Поменял в основном представлении
Лучше ничего не меняйте, запутаетесь еще больше, так как при изменение надо правильно менять и функцию loadPage().

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 15:52

unknownby писал(а):
2020.01.15, 15:48
Переделал вот так, но после удаления infinitescroll при pagination.length > 0 снова нужно инициализировать скрипт

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#products ul.pagination', data);
             $('#products').html($('#products >', data).html());
             if (pagination.length > 0) {
                $('#products ul.pagination').html(pagination.html());
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('.listview_products').infinitescroll('destroy');
             }
         });
     }
Вот видите, неверно поменяли айди и уже ошибка.
Верните все обратно, там все неправильно.

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 15:56

yiiliveext писал(а):
2020.01.15, 15:52
Вот видите, неверно поменяли айди и уже ошибка.
Верните все обратно, там все неправильно.
Подправил в else

Код: Выделить всё

$('#products ul.pagination').remove();
Думаю лучше оставить чтобы было три разных id
в основном представлении id products
в представлении listView у виджета id listview-products
и опять же в представлении listView class listview_products

Теперь можно не путаться с id и class-ами
Чуть выше ваш loadPage выводил два одинаковых товара, для этого исправил. Чтоб понимать откуда что берется там.

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 16:03

Тогда будет так

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('.listview_products >').html($('.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('.listview_products').infinitescroll('destroy');
             }
         });
     }
У вас вообще не должно там фигурировать #products, оно не относится к виджету.

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 16:11

yiiliveext писал(а):
2020.01.15, 16:03
Тогда будет так

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('.listview_products >').html($('.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('.listview_products').infinitescroll('destroy');
             }
         });
     }
У вас вообще не должно там фигурировать #products, оно не относится к виджету.
Понял, исправил :)
Если тут стоит первый ">" он выводит два товара, я его убрал и сделал так

Код: Выделить всё

$('.listview_products').html($('.listview_products >', data).html());
Может есть быстрая функция по сборке infinitescroll :D
После этого уже не появляется

Код: Выделить всё

$('.listview_products').infinitescroll('destroy');

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 16:18

unknownby писал(а):
2020.01.15, 16:11
Понял, исправил :)
Если тут стоит первый ">" он выводит два товара, я его убрал и сделал так

Код: Выделить всё

$('.listview_products').html($('.listview_products >', data).html());
Значит у вас поменялась структура, раньше все товары находились в div с классом 'row'.

Код: Выделить всё

<div id="products">
    <div id="listview-products" class="listview_products">
        <div class="row">
                                        <div class="item" data-key="32">
                                            <div class="col-md-12">
                                                <div class="panel panel-primary">
                                                    <div class="panel-heading">
                                                        <a href="/product/sajt-katalog-na-yii231">
                                                            <h3 class="panel-title text-light">Сайт каталог на Yii2</h3>
                                                        </a>
                                                    </div>
                                                    <div class="panel-body">
                                                        <div class="row">
                                                            <div class="col-sm-3">
                                                                <div class="relative">
                                                                    <a href="/product/sajt-katalog-na-yii231">
                                                                        <img src="/upload/img/1/JPoU9a6BbjWCU2DNpqDIRBbUoWxzTpDH.jpg" width="100" height="150" alt="Сайт каталог на Yii2"> <img src="/upload/img/1/3as12okB_tDndk209yxLCxjWX-aJQly1.png" width="25" alt="Скидка 20%" style="position: absolute; right: 0; top: 0;">
                                                                    </a>
                                                                </div>
                                                            </div>
                                                            <div class="col-sm-9">
                                                                <div class="row">
                                                                    <div class="col-sm-12">
                                                                        <b>Артикул:</b><br>
                                                                        0000131
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <b>Категория товара:</b><br>
                                                                        Бензобуры
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <b>Описание товара:</b><br>
                                                                        <em>Сайт каталог на Yii2. На данном сайте можно
                                                                            посмотреть как выглядит сайт каталог
                                                                            сделанный на framework Yii2</em>
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <b>Цена: <span class="text-red text-bold">100.00</span></b>
                                                                        BYN
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <a class="btn btn-success pull-right" href="/product/sajt-katalog-na-yii231">Подробнее
                                                                            <i class="glyphicon glyphicon-arrow-right"></i></a>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="item" data-key="3">
                                            <div class="col-md-12">
                                                <div class="panel panel-primary">
                                                    <div class="panel-heading">
                                                        <a href="/product/primer-sajta-kataloga-na-yii2">
                                                            <h3 class="panel-title text-light">Сайт каталог на Yii2</h3>
                                                        </a>
                                                    </div>
                                                    <div class="panel-body">
                                                        <div class="row">
                                                            <div class="col-sm-3">
                                                                <div class="relative">
                                                                    <a href="/product/primer-sajta-kataloga-na-yii2">
                                                                        <img src="/upload/img/1/9P2ZHWSQrApaQrRBGL1zK1B-RRLlSIlw.png" width="100" height="150" alt="Сайт каталог на Yii2"> <img src="/upload/img/1/uShFTMe2JUlf-UINCpxWdeHUlnFgdIpY.png" width="25" alt="Супер цена" style="position: absolute; right: 0; top: 0;">
                                                                    </a>
                                                                </div>
                                                            </div>
                                                            <div class="col-sm-9">
                                                                <div class="row">
                                                                    <div class="col-sm-12">
                                                                        <b>Артикул:</b><br>
                                                                        00003
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <b>Категория товара:</b><br>
                                                                        Бензобуры
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <b>Описание товара:</b><br>
                                                                        <em>Сайт каталог на Yii2. На данном сайте можно
                                                                            посмотреть как выглядит сайт каталог
                                                                            сделанный на framework Yii2</em>
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <b>Цена: <span class="text-red text-bold">20.00</span></b>
                                                                        BYN
                                                                    </div>
                                                                    <div class="col-sm-12">
                                                                        <a class="btn btn-success pull-right" href="/product/primer-sajta-kataloga-na-yii2">Подробнее
                                                                            <i class="glyphicon glyphicon-arrow-right"></i></a>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
        <ul class="pagination">
                                        <li class="next"><a href="/products/kategoria-11?ProductsSearch%5Boptions%5D=1-1&amp;page=2&amp;per-page=2" data-page="1">Load more</a></li>
                                    </ul>
    </div>
</div>

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 16:29

yiiliveext писал(а):
2020.01.15, 16:18
Значит у вас поменялась структура, раньше все товары находились в div с классом 'row'.
Структура такая, в вашем примере правильно. Есть ньюансы. Если прокрутить вниз, чтобы вывело еще товары, то когда ставлю фильтр, он не оставляет один товар, а делает столько же раз, сколько было подгрузок. Перепроверил это.

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 16:30

unknownby писал(а):
2020.01.15, 16:11
Понял, исправил :)
Если тут стоит первый ">" он выводит два товара, я его убрал и сделал так

Код: Выделить всё

$('.listview_products').html($('.listview_products >', data).html());
При этом потеряется <div class="row"> и не будет работать инфинит-скролл
Может есть быстрая функция по сборке infinitescroll :D
После этого уже не появляется

Код: Выделить всё

$('.listview_products').infinitescroll('destroy');
Можно попробовать так.

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('.listview_products >').html($('.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
                $('.listview_products').infinitescroll('resume');
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('.listview_products').infinitescroll('pause');
             }
         });
     }
или так

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('.listview_products >').html($('.listview_products >', data).html());
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
                $('.listview_products').infinitescroll('bind');
             } else {
                 $('#listview-products ul.pagination').remove();
                 $('.listview_products').infinitescroll('unbind');
             }
         });
     }

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 16:32

unknownby писал(а):
2020.01.15, 16:29
Структура такая, в вашем примере правильно. Есть ньюансы. Если прокрутить вниз, чтобы вывело еще товары, то когда ставлю фильтр, он не оставляет один товар, а делает столько же раз, сколько было подгрузок. Перепроверил это.
Это уже надо ставить компонент и смотреть.
Ну или вручную можно пересоздавать

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             var pagination = $('#listview-products ul.pagination', data);
             $('.listview_products >').html($('.listview_products >', data).html());
             $('.listview_products').infinitescroll('destroy');
             if (pagination.length > 0) {
                $('#listview-products ul.pagination').html(pagination.html());
                $('.listview_products').infinitescroll({
                    "contentSelector": ".listview_products",
                    "loading": {
                        "msgText": "<em>Загрузка...</em>",
                        "finishedMsg": "<em>Загружено!</em>",
                        "img": "/assets/dfa5861a/ajax-loader.gif"
                     },
                     "maxPage": 2,
                     "itemSelector": ".listview_products >",
                     "navSelector": "#listview-products ul.pagination",
                     "nextSelector": "#listview-products ul.pagination li.next a:first"
                     }, function () {
                });
             } else {
                 $('#listview-products ul.pagination').remove();
             }
         });
     }


unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 16:55

yiiliveext писал(а):
2020.01.15, 16:32
unknownby писал(а):
2020.01.15, 16:29
Структура такая, в вашем примере правильно. Есть ньюансы. Если прокрутить вниз, чтобы вывело еще товары, то когда ставлю фильтр, он не оставляет один товар, а делает столько же раз, сколько было подгрузок. Перепроверил это.
В этой строке он перепрописывает. Если я прокрутил вниз, потом нажал фильтр. Он в двух местах поставит мне один и тот же товар.

Код: Выделить всё

$('.listview_products >').html($('.listview_products >', data).html());

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 16:59

А можно пагинацию вообще отдельно не загружать. Пробуйте этот вариант.

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
             $('.listview_products').html($('.listview_products', data).html());
             $('.listview_products').infinitescroll('destroy');
             $('.listview_products').infinitescroll({
                    "contentSelector": ".listview_products",
                    "loading": {
                        "msgText": "<em>Загрузка...</em>",
                        "finishedMsg": "<em>Загружено!</em>",
                        "img": "/assets/dfa5861a/ajax-loader.gif"
                     },
                     "maxPage": 2, //сюда надо прописать общее количество страниц
                     "itemSelector": ".listview_products >",
                     "navSelector": "#listview-products ul.pagination",
                     "nextSelector": "#listview-products ul.pagination li.next a:first"
                     }, function () {
             });
         });
     }

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.15, 17:14

yiiliveext писал(а):
2020.01.15, 16:59
А можно пагинацию вообще отдельно не загружать. Пробуйте этот вариант.
Хорошо все, но не инициализирует infinitescroll
Всё появляется, но без автоматической загрузки, после выбора фильтра

Буду смотреть в гугле решения, мб есть уже :)

yiiliveext
Сообщения: 867
Зарегистрирован: 2019.08.13, 01:49

Re: Сохранение значений

Сообщение yiiliveext » 2020.01.15, 19:48

Дебаг включите

Код: Выделить всё

 $('.listview_products').infinitescroll({
                    "contentSelector": ".listview_products",
                    "loading": {
                        "msgText": "<em>Загрузка...</em>",
                        "finishedMsg": "<em>Загружено!</em>",
                        "img": "/assets/dfa5861a/ajax-loader.gif"
                     },
                     "debug": true,
                     "itemSelector": ".listview_products >",
                     "navSelector": "#listview-products ul.pagination",
                     "nextSelector": "#listview-products ul.pagination li.next a:first"
                     }, function () {});
А вообще, пока вживую не поклацаю, больше ничем помочь не смогу. Там может быть какой-то мелкий нюанс, которого я не вижу. Гадать - только зря время тратить. Сам код инициализации infinitescroll я проверил, он рабочий и автоподгрузка работает.

unknownby
Сообщения: 256
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Сохранение значений

Сообщение unknownby » 2020.01.16, 12:29

yiiliveext писал(а):
2020.01.15, 19:48
А вообще, пока вживую не поклацаю, больше ничем помочь не смогу. Там может быть какой-то мелкий нюанс, которого я не вижу. Гадать - только зря время тратить. Сам код инициализации infinitescroll я проверил, он рабочий и автоподгрузка работает.
Добавил вот что

Код: Выделить всё

$('.listview_products').data('infinitescroll', null);
Получилось так

Код: Выделить всё

function loadPage(url) {
         $.get(url, function(data) {
            $('.listview_products').html($('.listview_products', data).html());
             $('.listview_products').infinitescroll('destroy');
             $('.listview_products').data('infinitescroll', null);
            
             $('.listview_products').infinitescroll({
                    'contentSelector': '.listview_products',
                    'loading': {
                        'msgText': '<em>Загрузка...</em>',
                        'finishedMsg': '<em>Загружено!</em>',
                        'img': '/assets/dfa5861a/ajax-loader.gif'
                     },
                     'maxPage': 2,
                     'itemSelector': '.listview_products >',
                     'navSelector': '#listview-products ul.pagination',
                     'nextSelector': '#listview-products ul.pagination li.next a:first'
                     },
                    function () {});

         });
     }
Осталось посчитать количество страниц maxPage :)
Я проверил, если должно быть 2 страницы и указана двойка, то всё хорошо.
Буду сейчас считать, но где лучше это сделать? Думаю парсить url, который приходит в loadPage и дальше что-то делать.

Ответить