mart Опубликовано 23 августа, 2013 Жалоба Поделиться Опубликовано 23 августа, 2013 Копать надо API Products.php - а именно где идет обработчик $filter['sort'] == 'sklad' - там вторым данным добавить price ASC/DESC. Получится что-то типа if(!empty($filter['sort'])) switch ($filter['sort']) { case 'position': $order = 'p.position DESC'; break; case 'name': $order = 'p.name'; break; case 'created': $order = 'p.created DESC'; break; case 'price': //$order = 'pv.price IS NULL, pv.price=0, pv.price'; $order = '(SELECT pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1)'; break; case 'sklad': $order = '(SELECT pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1), p.sklad DESC'; break; } Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 23 августа, 2013 Жалоба Поделиться Опубликовано 23 августа, 2013 Это если сортировать с помощью фильтра в шаблоне. У меня сейчас автоматом сортируется по цене от меньшей до высокой цены. Изменял файлик view/ProductsView.php - $filter['sort'] = 'price'; Если автоматически сортируется товар с положительным наличием с суммой от меньшей до высокой, а потом идут отсутствующие на складе с суммой от меньшей до высокой. Так возможно сделать? Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 23 августа, 2013 Жалоба Поделиться Опубликовано 23 августа, 2013 Тогда наоборот - сначала p.sklad DESC а потом сорт по цене. В MySQL есть приоритеты для позиций сортировки. Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 23 августа, 2013 Жалоба Поделиться Опубликовано 23 августа, 2013 Спасибо Март! в файле api/Products.php добавить: case 'sklad': $order = 'p.sklad DESC, pv.price IS NULL, pv.price=0, pv.price'; break; в файле design/ваша тема/products.tpl добавить: <a {if $sort=='sklad'} class="selected"{/if} href="{url sort=sklad}">по складу</a> Цитата Ссылка на сообщение Поделиться на другие сайты
Jekas Опубликовано 11 октября, 2013 Жалоба Поделиться Опубликовано 11 октября, 2013 Целесообразнее делать не с товаром, а с вариантами товара, у себя так реализовал, так как у товара могут быть различные варианты :-) Цитата Ссылка на сообщение Поделиться на другие сайты
connectos Опубликовано 22 ноября, 2013 Жалоба Поделиться Опубликовано 22 ноября, 2013 Товарищи, а как сюда добавить еще варианты, к уже существующим есть на складе и нет на складе - Предзаказ (для новинок или редко поступаемых товаров), Под заказ (для товаров, которые есть только у поставщика на складе), Ожидается поступление на склад (тут и так понятно) ну и т.д. Цитата Ссылка на сообщение Поделиться на другие сайты
heyfor Опубликовано 11 декабря, 2013 Жалоба Поделиться Опубликовано 11 декабря, 2013 Целесообразнее делать не с товаром, а с вариантами товара, у себя так реализовал, так как у товара могут быть различные варианты :-)Мил человек, подскажи, как? Цитата Ссылка на сообщение Поделиться на другие сайты
SELECONICS Опубликовано 14 декабря, 2013 Жалоба Поделиться Опубликовано 14 декабря, 2013 странно, все вроде установил, но пока эффекта не видно в принципе, иконка Склад есть, а при нажатии на нее эффекта ноль, что вообще должно быть при установке данной доработки? Цитата Ссылка на сообщение Поделиться на другие сайты
GlaZZZ Опубликовано 26 января, 2014 Жалоба Поделиться Опубликовано 26 января, 2014 У меня работает, правда пришлось немного повозиться. Кода вывода в витрину я не увидел правильного(показывалось только значение с БД, т.е "1 или 0"), пришлось самому копать И в админке чуток подправил. Теперь сижу все товары выделяю и нажимаю есть на складе ) Цитата Ссылка на сообщение Поделиться на другие сайты
Dimon789 Опубликовано 27 января, 2014 Жалоба Поделиться Опубликовано 27 января, 2014 вот тутМил человек, подскажи, как? Цитата Ссылка на сообщение Поделиться на другие сайты
simpler Опубликовано 31 января, 2014 Жалоба Поделиться Опубликовано 31 января, 2014 вот тутничего из ссылки не понял. как это работает? если я хочу чтобы отображалось "на заказ" мне нужно в кол-ве 49 вводить? Объясните алгоритм работы Цитата Ссылка на сообщение Поделиться на другие сайты
Dimon789 Опубликовано 1 февраля, 2014 Жалоба Поделиться Опубликовано 1 февраля, 2014 ничего из ссылки не понял. как это работает? если я хочу чтобы отображалось "на заказ" мне нужно в кол-ве 49 вводить? Объясните алгоритм работы 1. Выставить максимальное кол-во товаров в настройках,2. в шаблоне товара, рядом с вариантами, вставить вот этот код, {$v->stock} шт {if $v->stock>49}на складе{else}в магазине{/if} 3. число 49 - это максимальное кол-во минус 1, для выполнения условия,4. в административной части следить за тем, чтобы у вариантов была бесконечность, бесконечность является значением "на складе". Цитата Ссылка на сообщение Поделиться на другие сайты
sergei5770 Опубликовано 9 апреля, 2014 Жалоба Поделиться Опубликовано 9 апреля, 2014 Есть у кого нибудь пример того, как это работает и что вообще из себя представляет? Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.