Беларусь

region-img

Документация Сотбит: Мультирегиональность. Для пользователя. Фильтр по складам в регионе

Фильтр по складам в регионе

В Битриксе у товаров есть "Доступное количество" и остатки на складах. Модуль работает с последним полем остатков, который в Битриксе носит только информационный характер и никак не влияет на доступность товара к покупке. В компоненте каталога есть параметр, который отвечает за отображение на детальной странице товара списка складов STORES. В этот параметр можно передавать значения, которые указаны в настройках региона.

К примеру имеется 2 склада: "Сочи" и "Москва". Каждый привязан к соответствующим регионам. Так же имеется какой-нибудь товар с "Доступным количеством" равным 5. На складе "Сочи" 5 штук, а на складе "Москва" 0. Так вот этот товар будет отображаться для каждого из этих регионов и покупка его будет возможна, как в регионе "Москва", так и в "Сочи", поскольку при операциях с товарами учитывается только "Доступное количество".

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

Для этого:

  1. Перейдите в административную часть сайта.

  2. Перейдите в раздел Контент.

  3. Выберите Файлы и папки.

  4. Выберите catalog.

  5. Войдите в режим редактирования файла index.php как PHP.

В открывшемся окне найдите вызов компонента bitrix:catalog.

Ниже вызова компонента перечислены его параметры. Нужный нам параметр – это STORES. В этот параметр требуется внести изменение, как указано на примерах ниже.

В параметре перечислены все созданные на сайте склады. Этот перечень может отличаться от представленного ниже.
$APPLICATION->IncludeComponent(
"bitrix:catalog",
…
  "STORES" => array(
    0 => "",
    1 => "6",
    2 => "",
  ),
…

После внесения изменений код должен принять вид представленный ниже.

$APPLICATION->IncludeComponent(
"bitrix:catalog",
…
  "STORES" => (!empty($_SESSION["SOTBIT_REGIONS"]["STORE"])?$_SESSION["SOTBIT_REGIONS"]["STORE"]:array(
    0 => "",
    1 => "6",
    2 => "",
  )),
…
Вместо "6" необходимо подставить id складов, которые используются у Вас на сайте либо перенести в этот массив данные, которые были в параметре STORES до этого.

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


Нужна помощь в настройке решения

Оставьте заявку и мы свяжемся с вами!