Посетите Дворцовую площадь

Показ разных товаров на разных поддоменах


Нужен программист!

Самым простым и удобным способом будет создание свойства привязки к регионам у товаров.

Свойство привязки к региону (создание) Свойство привязки к региону (использование)

А на странице, где происходит вызов компонента, который выводит товары, прописать массив фильтрации.

FILTER_NAME для регионов

Разделение товаров через множественную привязку к регионам

Если вы хотите показывать один и тот же товар сразу в нескольких регионах.

Создаёте точно такое же свойство, только указываете у него галочку "Множ.". Теперь в админке вы можете указывать несколько регионов для товаров.

Массив же фильтра будет генерироваться совершенно другим способом, код ниже.

<?php
global $arrFilter;
$res = CIBlockElement::GetList(
	Array(),
	Array(
		"IBLOCK_ID"       => {нужный инфоблок},
		"PROPERTY_REGION" => $_SESSION["VREGIONS_REGION"]["ID"]
	),
	false,
	false,
	Array("ID")
);
while ($ob = $res->GetNextElement()){
	$arFields = $ob->GetFields();
	$arrFilter["ID"][] = $arFields["ID"];
}
?>

Работа через отрицание. Не показывать товары в регионе

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

// фильтрация "Не показывать в регионах"
global $arrFilter;
$res = CIBlockElement::GetList(
	Array(),
	Array(
		"IBLOCK_ID" => {id инфоблока},
	),
	false,
	false,
	Array(
		"ID",
	)
);
while ($ob = $res->GetNextElement()){
	$arFields = $ob->GetFields();

	$dontShowInRegions = Array();
	$db_props = CIBlockElement::GetProperty(
		{id инфоблока},
		$arFields['ID'],
		array("sort" => "asc"),
		Array("CODE" => "{код свойства регионов (множественное)}")
	);
	while ($ar_props = $db_props->Fetch()){
		if ($ar_props['VALUE']){
			$dontShowInRegions[] = $ar_props['VALUE'];
		}
	}

	if ($dontShowInRegions){
		if (!in_array($_SESSION["VREGIONS_REGION"]["ID"], $dontShowInRegions)){
			$arrFilter["ID"][] = $arFields["ID"];
		}
	}else{
		$arrFilter["ID"][] = $arFields["ID"];
	}
}


Аристов Василий
Разработчик всех модулей на проекте

Теги



Что-то осталось непонятным или вы нашли неточность? Напишите, пожалуйста об этом в комментариях.

Написать комментарий

Чтобы писать комментарии, вам нужно войти на сайт

Авторизоваться через соцсеть

Авторизоваться через vk.com Авторизоваться через facebook.com

Хотите такие же комментарии себе на сайт? Купите готовый к установке модуль