Отображение товаров только которые есть в наличии

#
Отображение товаров только которые есть в наличии
Как сделать чтобы отображались товары в ИМ только те которые есть в наличии. То есть выгружаются из 1с как бы вообще все товары которые есть, но отображаются только те которые есть на складе?Надеюсь на вашу помощь.
Редакция мой сайт.
#
Re: Отображение товаров только которые есть в наличии
В коде типовой динамической страницы магазина перед вызовом метода ShowShop добавьте:
$element = array();
$element['type'] = 0;
$element['prefix'] = ' and ';
$element['name'] = 'shop_items_catalog_rest';
$element['if'] = '>';
$element['value'] = 0;
$element['sufix'] = '';
$param['select'][] = $element;
#
Re: Отображение товаров только которые есть в наличии
natalya,
Скажите пожалуйста, а если у основного товара количество на складе 0, а у модификаций этого товара есть количества больше 0... при таком отборе не показывает модификации....
Программист без пива как шампанское без пробки- быстро выдыхается.
#
Re: Отображение товаров только которые есть в наличии
natalya, вы лукавите, этого кода явно не достаточно, потому как это не отменяет индекс товаров в поиске, т.е. если забивать в поиск то товары, которых нет, будут находиться через поиск, еще линки на этот товар будут вести на этот самый товар (например яндекс их уже проиндексировал), а не на 404
#
Re: Отображение товаров только которые есть в наличии
vrtc писал(а):
natalya, вы лукавите, этого кода явно не достаточно
- кода вполне достаточно, чтобы реализовать поставленную задачу: "Как сделать чтобы отображались товары в ИМ...".
vrtc писал(а):
потому как это не отменяет индекс товаров в поиске
- стандартно убрать такие товары из результатов поиска никак нельзя(только если скрывать их средствами XSL-шаблона "Поиск" ).
vrtc писал(а):
еще линки на этот товар будут вести на этот самый товар
- чтобы не работали ссылки на страницы таких товаров(вместо них выдавалась 404-ая ошибка, например), необходимо будет вносить изменения в код настроек тип. дин. страницы магазина. Можно после вызова метода GetItemPath для товара, идентификатор которого будет содержаться в элементе $GLOBALS['shop_item_path']['item'], получить его количество, и если оно окажется равным нулю, то выдавать 404-ую ошибку(соответствующий блок кода также см. в коде настроек этой типовой).
#
Re: Отображение товаров только которые есть в наличии
Я вопрос снимаю... сам разобрался....
Программист без пива как шампанское без пробки- быстро выдыхается.
#
Re: Отображение товаров только которые есть в наличии
natalya,
Добавил привиденный код перед ShowShop, товары стали отображаться только те, что в наличии, но при этом пропали ярлыки товаров, которые есть в наличии (очевидно у ярлыков shop_items_catalog_rest равен 0).
Можно это как то решить?
#
Re: Отображение товаров только которые есть в наличии
ап
#
Re: Отображение товаров только которые есть в наличии
Если кто-нибудь столкнется с такой же проблемой, мне помогло следующее решение. У меня есть только один склад, поэтому проверку наличия я делал просто по полю shop_warehouse_items_table.shop_warehouse_items_count. Вместо кода, приведенного выше, перед ShowShop добавляем следующий код:


$element = array();
$element['type'] = 0;
$element['prefix'] = ' and ';
$element['name'] = 'wh_items.shop_warehouse_items_count';
$element['if'] = '>';
$element['value'] = 0;
$element['sufix'] = '';
$param['select'][] = $element;

if (!array_key_exists("sql_from", $param))
    {   $param['sql_from'] = "";   }
$param['sql_from'] .= 'LEFT JOIN shop_warehouse_items_table AS wh_items ON shop_items_catalog_table.shop_items_catalog_item_id = wh_items.shop_items_catalog_item_id OR shop_items_catalog_table.shop_items_catalog_shortcut_id = wh_items.shop_items_catalog_item_id';
Авторизация