Здравствуйте! в компоненте news.list делал вывод по разделам и вот получилось! но появилась другая проблема) почему то немогу вывезти обычное свойство строка, хотя в настройках компонента есть
Вывожу через
<?=$ELEMENT["PRICE"]?>
а тут
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["PRICE"] = $arFields['PROPERTIES']['PRICE']['DISPLAY_VALUE'];
$arFields['PROPERTIES']['PRICE']['DISPLAY_VALUE'] прописывал разными способами и DISPLAY_PROPERTIES и ~VALUE и просто VALUE ничего не помогает
result_modifier.php
function getSectionList($filter, $select)
{
$dbSection = CIBlockSection::GetList(
Array(
'LEFT_MARGIN' => 'ASC',
),
array_merge(
Array(
'ACTIVE' => 'Y',
'GLOBAL_ACTIVE' => 'Y'
),
is_array($filter) ? $filter : Array()
),
false,
array_merge(
Array(
'ID',
'IBLOCK_SECTION_ID'
),
is_array($select) ? $select : Array()
)
);
while( $arSection = $dbSection-> GetNext(true, false) ){
$SID = $arSection['ID'];
$PSID = (int) $arSection['IBLOCK_SECTION_ID'];
$arLincs[$PSID]['CHILDS'][$SID] = $arSection;
$res = CIBlockElement::GetList(array(), array("IBLOCK_ID"=>15, "IBLOCK_SECTION_ID" => $arSection['ID']), false, false, array());
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["NAME"] = $arFields["NAME"];
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["URL"] = $arFields["DETAIL_PAGE_URL"];
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["PRICE"] = $arFields['PROPERTIES']['PRICE']['DISPLAY_VALUE'];
}
$arLincs[$SID] = &$arLincs[$PSID]['CHILDS'][$SID];
}
return array_shift($arLincs);
}
$arSections = getSectionList(
Array(
'IBLOCK_ID' => 15
),
Array(
'NAME',
'SECTION_PAGE_URL'
)
);
$arResult["TREE_ITEMS"] = $arSections["CHILDS"];
Делал так, но почему то непередается
while( $arSection = $dbSection-> GetNext(true, false) ){
$SID = $arSection['ID'];
$PSID = (int) $arSection['IBLOCK_SECTION_ID'];
$arSelect = Array("ID", "IBLOCK_ID", "NAME","PROPERTY_*");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
$arLincs[$PSID]['CHILDS'][$SID] = $arSection;
$res = CIBlockElement::GetList(array(), array("IBLOCK_ID"=>15, "IBLOCK_SECTION_ID" => $arSection['ID']), false, false, $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["NAME"] = $arFields["NAME"];
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["URL"] = $arFields["DETAIL_PAGE_URL"];
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["PRICE"] = $arFields['PROPERTIES']['PRICE']['VALUE'];
}
$arLincs[$SID] = &$arLincs[$PSID]['CHILDS'][$SID];
}
UPD.
Вроде как начал выводить после таких
while( $arSection = $dbSection-> GetNext(true, false) ){
$SID = $arSection['ID'];
$PSID = (int) $arSection['IBLOCK_SECTION_ID'];
$arSelect = Array("ID", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL", "PROPERTY_*");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
$arLincs[$PSID]['CHILDS'][$SID] = $arSection;
$res = CIBlockElement::GetList(array(), array("IBLOCK_ID"=>15, "IBLOCK_SECTION_ID" => $arSection['ID']), false, false, $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["NAME"] = $arFields["NAME"];
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arFields["ID"]]["URL"] = $arFields["DETAIL_PAGE_URL"];
$arLincs[$PSID]['CHILDS'][$SID]["ELEMENTS"][$arProps["ID"]]["PRICE"] = $arProps['PRICE']['VALUE'];
}
$arLincs[$SID] = &$arLincs[$PSID]['CHILDS'][$SID];
}
return array_shift($arLincs);
но в шаблоне выводит так
<div class="accordion__content">
<a href="/prays-test/detail.php?ID=2628">Услуга-2</a>
<a href="">123</a>
</div>
в шаблоне
<?foreach ($CHILD["ELEMENTS"] as $ELEMENT){?>
<a href="<?=$ELEMENT["URL"]?>"><?=$ELEMENT["NAME"]?><?=$ELEMENT["PRICE"]?></a>
<?}?