0){ //Предыдущие программисты решили не напрягатся с ТП. Они в корзину передают код товара и размер. Если у товара нет цены, то в корзину ничего не попадает. //решением был добавлен код ниже. Он ищет ID ТП по переданному размеру и теперь в корзиун будет попадать именно ТП $isProduct = CCatalogSKU::GetInfoByProductIBlock($ar_res['IBLOCK_ID']); if (is_array($isProduct)){ $rsOffers = CIBlockElement::GetList(array(),array('IBLOCK_ID' => $isProduct['IBLOCK_ID'], 'PROPERTY_'.$isProduct['SKU_PROPERTY_ID'] => $pid), false, false, array('ID','PROPERTY_RAZMER','PROPERTY_TSVET')); while ($arOffer = $rsOffers->GetNext()){ if($arOffer[PROPERTY_RAZMER_VALUE]==$_REQUEST['size']){ $pid=$arOffer[ID]; $SIZE=$arOffer[PROPERTY_RAZMER_VALUE]; } } } $result = Add2BasketByProductID($pid,1, array( array("NAME" => "Размер", "CODE"=>"SIZE", "VALUE" => $SIZE), // array("NAME" => "Цвет", "CODE"=>"OSNOVNOY_TSVET", "VALUE" => $ar_res[PROPERTIES][OSNOVNOY_TSVET][VALUE]), array("NAME" => "Бренд", "CODE"=>"BREND", "VALUE" => $ar_res[PROPERTIES][BREND][VALUE]), array("NAME" => "Арт.", "CODE"=>"CML2_ARTICLE", "VALUE" => $ar_res[PROPERTIES][CML2_ARTICLE][VALUE]), //array("NAME" => $ar_res['PROPERTIES']['SIZE']['NAME'], "VALUE" => $ar_res['PROPERTIES']['SIZE']['VALUE']) )); if($result) echo "OK"; // else // echo "error1"; }else{ $result = Add2BasketByProductID($pid,1); echo "OK"; } }