コード例 #1
0
<?
	// Вычисляем скидку
	global $carrotquest_API;
	if (COption::GetOptionString(CARROTQUEST_MODULE_ID,"cqActivateBonus"))
		$arResult = $carrotquest_API->CalcDiscount($arResult);
	
	// При оформлении заказа недоступны item-ы этого заказа. Запишем их в куки.
	if (COption::GetOptionString(CARROTQUEST_MODULE_ID,'cqTrackOrderConfirm') != '')
		CarrotQuestEventHandlers::SetBasketItemsCookie($arResult["BASKET_ITEMS"])
?>
コード例 #2
0
	/**
	* Устанавливает Cookie для события оформления заказа
	* <b>Параметры:</b>
	* <var>$items</var> - содержимое корзины в формате Bitrix
	* <b>Возвращаемое значение:</b> нет
	*/
	static function SetBasketItemsCookie ($items)
	{
		if (!array_key_exists('carrotquest_basket_items', $_COOKIE) || !$_COOKIE['carrotquest_basket_items'] || $_COOKIE['carrotquest_basket_items'] == '[]')
		{
			$cookie = array();
			
			// Кодировка Windows-1251 распознается некорректно...
			$lang = CLanguage::GetList($by="active", $order="desc", Array("NAME" => "russian"));
			$lang = $lang->Fetch();
				
			foreach ($items as $value)
			{
				$item = array(
					"objectId"		=> $value['ID'],
					"objectName"	=> $value['NAME'],
					"objectUrl"		=> $_SERVER['HTTP_HOST'].$value['DETAIL_PAGE_URL'],
					"quantity"		=> $value['QUANTITY'],
					"price"			=> $value['PRICE'],
				);
				
				if ($lang['CHARSET'] == 'windows-1251')
					CarrotQuestEventHandlers::ToUTF($item);
					
				array_push($cookie,$item);
			};
			setcookie('carrotquest_basket_items', json_encode($cookie), 0, "/");
		};
	}