<?php
if (CModule::IncludeModule("sale"))
{
$arBasketItems = array();
$dbBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC","ID" => "ASC"),
array("FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID, "ORDER_ID" => "NULL"),
false,
false,
array("ID","MODULE","PRODUCT_ID","QUANTITY","CAN_BUY","PRICE"));
while ($arItems=$dbBasketItems->Fetch())
{
$arItems=CSaleBasket::GetByID($arItems["ID"]);
$arBasketItems[]=$arItems;
$cart_num+=$arItems['QUANTITY'];
$cart_sum+=$arItems['PRICE']*$arItems['QUANTITY'];
print_r ($arItems["PRODUCT_ID"].'-');
$rsElement = CIBlockElement::GetList(array(), array('ID' =>
$product_id), false, false, array('ID', 'IBLOCK_SECTION_ID'));
if($arElement = $rsElement->Fetch())
{
echo $arElement['IBLOCK_SECTION_ID'];
$intElementID = $arItems["PRODUCT_ID"]; // ID предложения
$mxResult = CCatalogSku::GetProductInfo(
$intElementID
);
if (is_array($mxResult))
{
$res = CIBlockElement::GetByID($mxResult['ID']);
if($ar_res = $res->GetNext())
$res = CIBlockSection::GetByID($ar_res['IBLOCK_SECTION_ID']);
if($ar_res = $res->GetNext())
// echo $ar_res['IBLOCK_SECTION_ID'];
$resSection = CIBlockSection::GetNavChain(false, $ar_res['IBLOCK_SECTION_ID']);
$arSection = $resSection->GetNext() ;
$array_sections = $arSection;
echo ($arSection[ID]."</br>");
}
else
{
$res = CIBlockElement::GetByID($arItems["PRODUCT_ID"]);
if($ar_res = $res->GetNext())
$res = CIBlockSection::GetByID($ar_res['IBLOCK_SECTION_ID']);
if($ar_res = $res->GetNext())
// echo $ar_res['IBLOCK_SECTION_ID'];
$resSection = CIBlockSection::GetNavChain(false, $ar_res['IBLOCK_SECTION_ID']);
$arSection = $resSection->GetNext() ;
$array_sections = $arSection;
echo ($arSection[ID]."</br>");}
}
};
}
?>
Код выводит ID раздела $arSection[ID] по ID торгового предложения $mxResult['ID'], если объект не является торговым предложением, то выведем ID раздела по ID товара $arItems["PRODUCT_ID"]
Все замечательно выводится, хотя код явно костыльный.
Внизу страницы, т.е. за всем этим кодом, мне нужно создать переменную и присвоить ей, либо Y, либо N. Нужно присваивать Y если $arSection[ID] равен 109, в иных случаях N
Сложность возникает с тем, что у меня в коде дважды используется $arSection[ID]