Последние темы


tagManager 2: слетает сортировка товара при использовании пагинации

  • Здраствуйте!

    Настроил на MODX Revolution 2.5.1-pl систему фильтрации tagManager 2 2.3-pl в режиме AJAX. Пагинация, сортировка и фильтрация работает четко, но есть один неудобный момент.

    Порядок действий:
    0) каталог с пагинацией, страниц 2 или более

    1. отсортировали товары, например, по цене
    2. на первой странице кликнули на товар и перешли на его страницу
    3. в браузере жмем возврат на предыдущую страницу, т. е. в каталог
    4. видим идентично отсортированный по цене каталог, все селекты сортировки в том же положении
    5. посредством пагинации переходим на вторую страницу каталога и видим сортировку товара по pagetitle, а селект сортировки в положении «сортировать по цене».

    Проверил все записи на форуме по tagManager. Похожей проблемы не нашел.
    Скачал готовый демо-сайт, добавил в него сортировку.

    <select class="f_sortby" name="sortby" onchange="tmFilters.changeOrder(this);">
        <option value="pagetitle">по названию</option>
        <option value="price">по цене</option>
        <option value="publishedon">по дате</option>
    </select>
    

    Возникает аналогичная проблема.

    Похожая проблема есть и на демо-сайте http://demo.modx-shopkeeper.ru/

    1. заходим в раздел каталога «Компьютеры», в котором 18 товаров с постраничной разбивкой по 9шт.
    2. выбираем вывод по 12 шт на страницу. На первой странице выводиться 12шт, на второй остальные 6. Параметры в адресной строке - sortdir=asc&page=1&limit=12
    3. находясь на первой странице кликаем на любой товар
    4. на странице товара в браузере жмем возврат на предыдущую страницу
    5. возвращаемся в каталог. Параметры теже sortdir=asc&page=1&limit=12. В селекте стоит «вывести по 12». Выведено теже 12 товаров.
    6. переходим на вторую страницу, где должны находиться остальные 6 товаров, а выводится уже 9. Параметры — sortdir=asc&page=2. В селекте так и стоит 12 товаров на страницу.

    alt text

    По первичной диагностике проблема возникает из за того, что после возврата со страницы товара в каталог, у последнего исчезают следующие скрытые поля перед тегом </form>.

    <input name="limit" value="12" type="hidden">
    <input name="page" value="1" type="hidden">
    

    Подскажите можно ли решить эту проблему настройками tagManager-а?

  • Попробуйте добавить такие поля:

    <input name="limit" value="[[!getRequest?paramName=`limit`&defaultValue=`9`]]" type="hidden">
    <input name="page" value="[[!getRequest?paramName=`page`&defaultValue=`1`]]" type="hidden">
    

    Код сниппета "getRequest" здесь:
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/elements/snippets/getRequest.php

    Для сортировки видимо надо по такому же принципу.

  • Andchir, добрый день. Спасибо за ответ.

    Для сортировки товара предложенное решение действительно подошло, но проблему с фильтрацией оно не решает.

    На примере демосайта (http://demo.modx-shopkeeper.ru/😞

    1. заходим в Каталог > Компьютеры
    2. максимальную цену урезаем до 80000, то останется 12 и 5 товаров на 1 и 2 странице соответственно.
    3. находясь на 1 странице раздела каталога обновляем ее или заходим в любой товар, затем возвращаемся обратно в раздел.
    4. выглядит все как и до обновления
    5. переходим на страницу 2 и видим вывод всех 9 товаров вместо 5. Возвращаемся на 1-ю страницу, а там товары дороже 80000. Фильтр стоит с ограничением — не дороже 80000.

    При тестировании выше указанной последовательности на демосайте нашелся мини-баг. Для меня он не критичен, т. к. для указания границы цены использовать текстовое поле не буду. Суть — если в разделе Компьютеры указать в текстовом поле верхний лимит цены 80000 и после фильтрации нажать на 2 страницу, то на мгновение загружается 2-я страница и тут же идет возврат на 1-ю. При использовании слайдера такой проблемы нет.

 

Последние комментарии

  • 0_1575831062911_shk-logo-small-blue.png
    Что нового в версии 4.1.3:

    Добавлен компонент "Отзывы и рейтинги" (есть интерфейс для администратора). Обновлены версии всех сторонних пакетов.

    Демо-сайт обновлен. https://shk4-demo.modx-shopkeeper.ru/
    Логин: admin
    Пароль: admin

    0_1575830694586_ru_screenshot001.png

    0_1575830705492_ru_screenshot002.png

    0_1575830710901_ru_screenshot003.png

    Читать далее
  • C

    Если вдруг кто-то озадачится.
    В файле updateorderstatus.class.php

    //Формируем письмо $orderOutputData = $shopCart->getOrderData( $order_id ); $chunkArr = array( 'orderID' => $order_data['id'], 'orderDate' => $order_data['date'], 'statusName' => $status_data['label'], 'orderCurrency' => $shopCart->config['currency'], 'orderOutputData' => $orderOutputData, //добавляем строку 'status' => $status_data['color'], );

    Читать далее
  • Участник @Vladislava написал в Проблема с giftCards:

    @Andchir Спасибо большое! А не скажете ещё, где можно скачать Compare? Тоже не могу найти.

    Сравнение товаров
    https://e-store.shopkerx.net/katalog/modx_extras/compare

    Читать далее
  • V

    @Andchir Спасибо большое! А не скажете ещё, где можно скачать Compare? Тоже не могу найти.

    Читать далее