Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

Копать надо 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;
			}
Ссылка на сообщение
Поделиться на другие сайты
Это если сортировать с помощью фильтра в шаблоне.

 

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

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

 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

в файле 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>
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

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

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...