Обстоятельства вынуждают писать свою функцию добавления товара в корзину:
1.Пока товар лежит в корзине может измениться цена/кол-во.
2.Ссылка на детальное описание товара зависит от свойств товара может быть прописана в настройках иблока.
Вопрос:
Вот пример функции из документации
<?
func tion MyBasketCallback($PRODUCT_ID, $QUANTITY = 0)
{
$arResult = array();
$iProductQuantity = GetProductQuantity($PRODUCT_ID);
if ($iProductQuantity<=0)
return $arResult; // товар кончился, возвращаем пустой массив
$arResult = array(
"PRODUCT_PRICE_ID" => 0,
"PRICE" => 125.2,
"CURRENCY" => "RUB",
"WEIGHT" => 530,
"NAME" => "Чемодан кожаный",
"CAN_BUY" => "Y"
);
if (IntVal($QUANTITY)>0 && ($iProductQuantity-$QUANTITY)<0)
$arResult["QUANTITY"] = $iProductQuantity; // товара осталось
// меньше, чем в корзине, поэтому уменьшаем
// количество товара в корзине
return $arResult;
}
?>
переделав ее следующим образом
<?
func tion MyBasketCallback($PRODUCT_ID, $QUANTITY = 0,$price,$price_id)
{
$arResult = array();
$iblock=10;
$iProductQuantity = GetProductQuantity($PRODUCT_ID);
if ($iProductQuantity<=0){
$arResult = array(
"PRODUCT_PRICE_ID" => $price_id,
"PRICE" => $price,
"CURRENCY" => "UAH",
"NAME" => $NAME,
"CAN_BUY" => "Y",
"DELAY"=>"Y"
"DETAIL_PAGE_URL" => SITE_DIR."/catalog/?sStr=".$article."&BRAND=".$brand
);
return $arResult; } // товар кончился, возвращаем пустой массив
//как "нулевой" товар переместить в "notavail"?
if(CModule::IncludeModule('iblock')&&($arIBlockElement = GetIBlockElement($PRODUCT_ID, $iblock)))
{
$brand=$arIBlockElement["PROPERTIES"]["CML2_Producer"]['VALUE'];
$NAME=$arIBlockElement["NAME"];
$article=$arIBlockElement["PROPERTIES"]["CML2_ARTICLE"]['VALUE'];
}
$arResult = array(
"PRODUCT_PRICE_ID" => $price_id,
"PRICE" => $price,
"CURRENCY" => "UAH",
"NAME" => $NAME,
"CAN_BUY" => "Y",
"DETAIL_PAGE_URL" => SITE_DIR."/catalog/?sStr=".$article."&BRAND=".$brand
);
if (IntVal($QUANTITY)>0 && ($iProductQuantity-$QUANTITY)<0)
$arResult["QUANTITY"] = $iProductQuantity; // товара осталось
// меньше, чем в корзине, поэтому уменьшаем
// количество товара в корзине
return $arResult;
}
?>
Так ли я понял назначение этой функции и где и как мне ее следует прописать АБЫ РАБОТАЛО?
Может, сразу после Add2Basket????
Всем ответам и предложениям спасибо заранее.