Как отфильтровать товары в Битриксе по наличию на конкретном складе?

Как можно фильтровать товары, которые имеют торговые предложения в наличии на определенном складе, даже если количество этих товаров на складе равно 0, при использовании комплексного компонента "Каталог" в Битриксе?
  • 29 мая 2024 г. 7:01
Ответы на вопрос 1
Для того чтобы отфильтровать товары по наличию на конкретном складе в Битриксе, вы можете использовать свойства товаров и фильтровать их по значениям складов.

1. Перейдите в административную часть сайта Битрикс.
2. Откройте раздел "Интернет-магазин" - "Настройки" - "Торговый каталог" - "Торговые предложения".
3. Добавьте необходимые склады в разделе "Склады" и привяжите их к соответствующим торговым предложениям.
4. Создайте свойство товара, в котором будут указаны склады, на которых данный товар имеется.
5. При использовании комплексного компонента "Каталог" в шаблоне каталога добавьте фильтр по свойству товара, соответствующему складу.

Например, для фильтрации товаров по наличию на складе №1, используйте следующий код:

```php
<?php
$arFilter = array(
    "IBLOCK_ID" => $arParams["IBLOCK_ID"],
    "ACTIVE" => "Y",
    ">PROPERTY_STOCKS" => 0, // свойство товара, указывающее на наличие товара на складе
    "PROPERTY_STOCKS_VALUE" => "Склад 1", // значение свойства, соответствующее складу №1
);
?>
```

После применения данного фильтра товары будут отображаться только в случае наличия их на указанном складе.
Похожие вопросы