Задать вопрос
@alexwprof

Возможна ли ошибка в получении данных GetList Битрикс?

Необходимо произвести получение свойств связанных элементов, включая их цену. В нижеприведенном коде это и происходит. Есть свойство 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>
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы