Новости
- 16.02.2019 - Вышел Shopkeeper 4.0.3
- 05.02.2019 - Symfony для MODX-разработчиков
- 18.01.2019 - Вышел Shopkeeper 4.0.0, Обновлен сайт
- 15.11.2018 - Импорт/экспорт товаров в Shopkeeper 4
- 18.09.2018 - Вышел Shopkeeper v4.0-rc
- 14.09.2018 - Установка и обзор Shopkeeper4
- 29.07.2018 - Бесплатные базы данных MongoDB на 1 год
- 21.07.2018 - Критическая уязвимость MODX <=2.6.4
- 01.06.2018 - Тест производительности Shopkeeper 4
Последние темы
-
Не добавляется цена товара в корзину.
Поддержка9 -
Вышел Shopkeeper 4.0.3
Новости1 -
TagManager2 отображает в фильтре удаленные значения TV-полей
Поддержка7 -
Бесплатные базы данных MongoDB на 1 год
Новости7 -
Пересчет цены в зависимости от параметров
Поддержка3 -
CatalogFill: не работает импорт в таблицу MIGXDB
MODX - Вопросы и обсуждения15 -
TagManager2 при фильтрации на странице, ничего не происходит
Поддержка17 -
Не выводиться ID товара в письме
Поддержка2 -
Несколько значений checkbox для Formit
MODX - Вопросы и обсуждения2 -
Array в теле письма после оформления заказа
Поддержка5 -
Изменения товара на внешней части сайта modx
MODX - Вопросы и обсуждения10 -
tagManager2 отображает в фильтрации значения удаленных товаров
Поддержка1 -
Цена доставки (не получается найти)
Общие вопросы3 -
shopkeeper3 и цена в зависимости от площади
Поддержка9 -
Catalofill выдает 502 ошибку при загрузке 35 000+ позиций
Поддержка13 -
Получить имена и значения всех TV
Поддержка10 -
CatalogFill + MIGX (не shopkeeper)
Поддержка4 -
Symfony для MODX-разработчиков
Новости1 -
Shopkeeper2 другие цены у товаров в зависимости от выбранного способа оплаты
Поддержка7 -
Не добавляет товары через SHK.toCartFromArray
Поддержка4
Сложная сортировка getProducts
-
Здравствуйте, на сайте реализована фильтрация товаров через tagManager, который в свою очередь использует getPage и getProducts.
В моем случае сортировка в категориях стоит sortby = menuindex.
На сайте есть функция для наличия и отсутствия товара, для этих целей у товара используются разные шаблоны(товар в наличии - шаблон 3, товар отсутствует - шаблон -21), не стал делать через tv условия вроде:[[*instock:is=`В наличии` :then=` <span class="shk-price"><span itemprop="price">[[*price]]</span> грн.</span> `:else=` `]] [[*instock:is=`Отсутствует`:then=``:else=`<span class="shk-price"><span itemprop="price">[[*price]]</span> грн.</span>`]]
Потому что условий будет много - не выводить цену, не выводить кнопку, не выводить перечеркнутую цену, выводить блок с надписью об отсутствии товара, предлагать альтернативные товары - условий получается много, по этому решил сделать просто отдельный шаблон для товаров которых нет в наличии.
Но хотелось бы теперь в категории сортировать товар по sortby = menuindex но при этом, товары которых нет(шаблон 21) должны идти в самом конце, можно ли задать как-то такое сложное условие? То есть:
Выводим карточки товаров с шаблоном 3 сортируя их по menuindex, а затем выводим карточки товаров с шаблоном 21 -
Не согласен на счёт того что в tv неудобно, как раз таки и удобно просто не надо отдельно что-то там проверять и выводить (имею ввиду кнопку и т.д.), представьте, можно один раз проверить и большой кусок кода менять
т.е.:
[[*instock:gt=`1`:then=`[[$чанк где всё в порядке с кнопками, там и лейбл с текстом О боже - этот товар есть у нас в наличии]]`:else=`[[$чанк где говориться что этого товара нет и скорее всего не будет, да и кнопка тут уже не работает ]]`]]
При чём это как раз таки было бы удобнее сортировать, ведь в tv число и по нему бы очень хорошо сортировалось.
Ну да черт с ним, ваше решение.... А по поводу вопроса, ну сделайте сортировку по шаблону, кто мешает?! Ведь шаблоны хранятся в таблице у ресурса по id, а это тоже числа
-
Участник @jagger написал в Сложная сортировка getProducts:
А по поводу вопроса, ну сделайте сортировку по шаблону, кто мешает?! Ведь шаблоны хранятся в таблице у ресурса по id, а это тоже числа
Сортировка должна быть по menuindex, в категориях выставлен определенный порядок по важности товаров, допустим:
Товар 3 Товар 4 Товар 1 Товар 2 .... .... ....
Допустим, на какое-то время "Товар 4" заканчивается, у него меняется шаблон и он должен выйти из очереди выборки, получается:
-------Товары в наличии Товар 3 Товар 1 Товар 2 .... .... .... ---------Товары не в наличии(Тут порядок вообще не важен) Товар 4 .... .... ....
Теперь "Товар 4" опять появился, у него меняется шаблон и он становиться на свое место первоначальное, по menuindex:
-------Товары в наличии Товар 3 Товар 4 Товар 1 Товар 2 .... .... .... ---------Товары не в наличии(Тут порядок вообще не важен) .... .... ....
То есть как бы сортировка получается двойная, основная - по menuindex, а те товары что не отвечают условию, допустим templete == 3 просто в выборке оказываются в самом конце. Возможно я вас не понял просто, если не сложно, подскажите как реализовать=)
На счет шаблона или тв, на самом деле это не камень преткновения, я просто пока-что планирую как это будет работать. У меня сейчас это дело и реализовано через тв. Но вот на сайте есть блоки с выводом карточек "горячие товары", "Топ продаж", пару слайдеров с предложениями, в них просто указывается шаблона 3 и они выводят только те товары, которые есть, пропуская товары, которых нет (шаблон 21), можно добавить это в условие, как исключение, то етсь если ТВ == нет в наличии, то пропускать, а можно сделать через шаблон.
И вот еще одна мысль, я не дошел еще до этого но мне подумалось так - у tagManager указывается в настройках, какой шаблон у карточки товаров, если ему указать шаблон 3(товар в наличии) и не указывать шаблон 21(товара нет в наличии) то товары которых нет так же не будут фильтроваться, что и нужно, то есть мне не нужно получать в выборке по фильтру, по условию, те товары которых нет - но я до этого еще не дошел, возможно на деле все окажется не так, хотелось бы пока-что организовать изначальную сортировку -
Цитата из документации:
orderby - JSON строка сортировки. Пример:
&orderby=`{"parent":"ASC","pagetitle":"ASC"}
В вашем случае будут поля "template" + "menuindex".
-
Участник @andchir написал в Сложная сортировка getProducts:
&orderby=`{"parent":"ASC","pagetitle":"ASC"}
В очередной раз спасибо!