Необходимо произвести получение свойств связанных элементов, включая их цену. В нижеприведенном коде это и происходит. Есть свойство SERVICE_PROD, соответственно через него происходит связь с элементами другого инфоблока. Всё бы хорошо, только на выходе получается массив, который не удаётся корректно использовать и не удаётся из него подставить значения.
Хочется совета на предмет, правильно ли формируется массив и насколько верно использовать два цикла в этом случае, если нет, то как сделать одну выборку которая получит и цену и и имя товара, и прочее....вожусь уже долго, не могу найти решения
<?if(CModule::IncludeModule("iblock")) {
//Получение цены
$service_price = $arResult["PROPERTIES"]["SERVICE_PROD"]["VALUE"];
$rsPrices = CPrice::GetList(
array(),
array("PRODUCT_ID" => $service_price,
"CATALOG_GROUP_ID" => 1,)
);
while ($arPriceType = $rsPrices->Fetch())
{ $arPrice[] = $arPriceType;
$arResult["PRICE_CART"] = $arPrice ;
//debug($arResult["PRICE_CART"]);
}
//Получение других параметров связанного элемента.
$arSelect = Array(
"DATE_ACTIVE_FROM",
"PROPERTY_SERVICE_PROD.PREVIEW_TEXT",
"PROPERTY_SERVICE_PROD.NAME",
"PROPERTY_SERVICE_PROD.ID",
);
$arFilter = Array("IBLOCK_ID" => array(2),
"ACTIVE_DATE" => "Y",
"ACTIVE" => "Y",
"ID" => $arResult["ID"]
);
$res = CIBlockElement::GetList(
Array(),
$arFilter,
false,
Array("nPageSize" => 20),
$arSelect
);
while ($ob = $res->GetNextElement()) {
$arFields[] = $ob->GetFields();
$arResult["SERV"] = $arFields ;
}
}
?>
Вывожу следующим образом, происходит дублирование результатов массива:
<div id="product-services" class="product-services">
<ul class="list product-services__list">
<?php foreach($arResult["SERV"] as $arServ):?>
<?foreach($arResult["PRICE_CART"] as $arPrice):?>
<li class="product-services__item">
<div class="product-service">
<div class="product-service__left">
<div class="product-service__head">
<div class="product-service__title">
<?=$arServ['PROPERTY_SERVICE_PROD_NAME']?>
</div>
<div class="product-service__price">
<?/*Подставляем цену*/?>
<?=$arPrice["PRICE"] ?>
</div>
</div>
<div class="product-service__description">
<?=$arServ['PROPERTY_SERVICE_PROD_PREVIEW_TEXT'] ?>
</div>
</div>
<div class="product-service__right">
<a href="#" class="button product-service__button"><i
class="fas fa-cart-plus button__icon"></i>Добавить
услугу</a>
</div>
</div>
</li>
<?endforeach?>
<?endforeach;?>
</ul>
</div>