+7 (987) 026-06-36
Написать в Telegram

Оставить заявку
stanislav_web

Сквозная корзина битрикс при многосайтовости в 1С-Битрикс

Сквозная корзина битрикс при многосайтовости в 1С-Битрикс Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы

Сквозная корзина битрикс при многосайтовости в 1С-Битрикс

Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы

📅 29 мая 2023

👁‍🗨 453

🔥 0

Сквозная корзина битрикс при многосайтовости в 1С-Битрикс
Например, у вас имеется два сайта (s1 и s2) и вы хотите, чтобы пользователь добавив в корзину товар на сайте s1 увидел этот же товар в корзине находясь на сайте s2. Или вы хотите использовать одну корзину, потому что в правилах работы с корзиной вы не можете выбрать более одно сайта. Для этого есть специальный и к сожалению неосвященный параметр для компонентов bitrix:sale.basket.basket и bitrix:sale.order.ajax - CUSTOM_SITE_ID.
<?$APPLICATION->IncludeComponent(
	"bitrix:sale.basket.basket", 
	".default", 
	array(
		...
		"CUSTOM_SITE_ID" => "s1", // Символьный код сайта
		...
	),
	false
);?>

<?$APPLICATION->IncludeComponent(
	"bitrix:sale.order.ajax", 
	".default", 
	array(
		...
		"CUSTOM_SITE_ID" => "s1", // Символьный код сайта
		...
	),
	false
);?>
Присутствие проверки на этот параметр мы можем увидеть в классе корзины /bitrix/components/bitrix/sale.basket.basket/class.php на строке 113.
<?
...
	public function onPrepareComponentParams($params)
	{
		if (isset($params['CUSTOM_SITE_ID']))
		{
			$this->setSiteId($params['CUSTOM_SITE_ID']);
		}
...
?>