Добрый день подскажите, можно ли так писать с точке зрения оптимального кода. Пытаюсь учиться писать хороший код
Задача была такая: в отдельном компоненте вывести отзывы связанные с услугами которые в свою очередь связанны с мероприятиями.
Что я делаю в этом куске кода:
Беру id услуги из $_GET , затем выбираю все его свойства связанных мероприятий у данной услуги, в свою очередь у этих мероприятий выбираю уже связанные с ними отзывы.
Задача была такая: в отдельном компоненте вывести отзывы связанные с услугами которые в свою очередь связанны с мероприятиями.
Что я делаю в этом куске кода:
Беру id услуги из $_GET , затем выбираю все его свойства связанных мероприятий у данной услуги, в свою очередь у этих мероприятий выбираю уже связанные с ними отзывы.
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <?$idEvents = (int)$_GET["ID"]?>// ID текущей услуги <?$feedback = Array()?> <?$arSelect = Array("PROPERTY_EVENTS")?> <?$arFilter = Array("IBLOCK_ID"=>10, "ID"=>$idEvents,"ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y"); $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect ); while($ob = $res->GetNextElement()){ $arFields = $ob->GetFields(); if(!empty($arFields["PROPERTY_EVENTS_VALUE"])) $arSelectREWIEWS = Array("PROPERTY_REVIEWS"); $arFilterREWIEWS = Array("IBLOCK_ID"=>11, "ID"=>$arFields["PROPERTY_EVENTS_VALUE"],"ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y"); $resREWIEWS = CIBlockElement::GetList(Array(), $arFilterREWIEWS , false, false, $arSelectREWIEWS ); while($obREWIEWS = $resREWIEWS ->GetNextElement()){ $arFieldsREWIEWS = $obREWIEWS ->GetFields(); if(!empty($arFieldsREWIEWS ["PROPERTY_REVIEWS_VALUE"])) $feedback[] = $arFieldsREWIEWS ["PROPERTY_REVIEWS_VALUE"] ; } } ?> |