Jump to content

Вывод наличия и отсутствия товара


Recommended Posts

Копать надо 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;
			}
Link to post
Share on other sites
Это если сортировать с помощью фильтра в шаблоне.

 

У меня сейчас автоматом сортируется по цене от меньшей до высокой цены.

Изменял файлик view/ProductsView.php - $filter['sort'] = 'price';

 

Если автоматически сортируется товар с положительным наличием с суммой от меньшей до высокой, а потом идут отсутствующие на складе с суммой от меньшей до высокой.

 

Так возможно сделать?

Link to post
Share on other sites

Спасибо Март!

 

в файле 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>
Link to post
Share on other sites
  • 1 month later...

Целесообразнее делать не с товаром, а с вариантами товара, у себя так реализовал, так как у товара могут быть различные варианты :-)

Link to post
Share on other sites
  • 1 month later...

Товарищи, а как сюда добавить еще варианты, к уже существующим есть на складе и нет на складе - Предзаказ (для новинок или редко поступаемых товаров), Под заказ (для товаров, которые есть только у поставщика на складе), Ожидается поступление на склад (тут и так понятно) ну и т.д.

Link to post
Share on other sites
  • 3 weeks later...

Целесообразнее делать не с товаром, а с вариантами товара, у себя так реализовал, так как у товара могут быть различные варианты :-)

Мил человек, подскажи, как?

Link to post
Share on other sites

странно, все вроде установил, но пока эффекта не видно в принципе, иконка Склад есть, а при нажатии на нее эффекта ноль, что вообще должно быть при установке данной доработки?

Link to post
Share on other sites
  • 1 month later...

У меня работает, правда пришлось немного повозиться. Кода вывода в витрину я не увидел правильного(показывалось только значение с БД, т.е "1 или 0"), пришлось самому копать :)

 

И в админке чуток подправил. Теперь сижу все товары выделяю и нажимаю есть на складе :))

Link to post
Share on other sites

ничего из ссылки не понял. как это работает? если я хочу чтобы отображалось "на заказ" мне нужно в кол-ве 49 вводить? Объясните алгоритм работы

 

1. Выставить максимальное кол-во товаров в настройках,

2. в шаблоне товара, рядом с вариантами, вставить вот этот код, 

{$v->stock} шт {if $v->stock>49}на складе{else}в магазине{/if}

3. число 49 - это максимальное кол-во минус 1, для выполнения условия,

4. в административной части следить за тем, чтобы у вариантов была бесконечность, бесконечность является значением "на складе".

Link to post
Share on other sites
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...