2016-12-28 3 views
0

У меня есть магазин prestashop, когда я продаю футболки. Каждая футболка имеет несколько размеров (комбинации), то есть M, L, XL и т. Д.Prestashop - нет в наличии

В фильтре blocklayered есть два фильтра: «Доступные» и «Нет на складе», но они ведут себя странно: «из stock "показывает продукты, которые имеют 0 количество в одном/нескольких размерах.

Как я могу изменить это, чтобы показывать список на «нет в наличии» только в товарах, в которых нет товаров в ВСЕХ доступных размеров.

Что я имею в виду, когда футболка имеет 3 предмета в размере M, но 0 в размере L, я не хочу, чтобы она показывалась в списке «Нет на складе».

Вторая вещь - как я могу скрыть продукты, которые действительно «нет в наличии» (нет элементов во всех комбинациях) из страницы списка категорий по умолчанию? Я хочу добиться того, что на страницах категорий есть вкладка «Архив», в которой должны отображаться продукты, которые раньше были доступны в магазине, но их больше нет.

Я использую PS 1.6.1.9

ответ

0

Открыть WWW/темы/yourtheme/продукт-лист (Не забудьте сделать резервную копию)

Поиск

{assign var='nbLi' value=$products|@count} 

Справа внизу добавить

{foreach from=$products item=product name=products} 
    {if ($product.quantity <= 0)} 
     {$nbLi=$nbLi-1} 
    {/if} 
{/foreach} 

Поиск

{foreach from=$products item=product name=products} 

Справа внизу добавить

{if ($product.quantity > 0)} 

Поиск

{/foreach} 

прямо над добавить

{/if} 

Заменить все экземпляры

$smarty.foreach.products.total 

и

$smarty.foreach.products.iteration 

с

$nbLi 

Этот вопрос был anwsered по МЭГ Venture в Prestashop форуме. https://www.prestashop.com/forums/topic/537182-disable-out-of-stock-product-from-listing-only/

+0

Спасибо, но более важным для меня является страница «Архив», что означает отображение продуктов, – Gacek

0

В базовом классе StockAvailable.php PrestaShop есть функция, которая может быть использована для поиска фактического количества любой опции продукта.

StockAvailable::getQuantityAvailableByProduct() 

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