Сам ранее не делал, из быстронагугленного)) у меня так заработало (если я верно понял задачу):
Код |
---|
<?use Bitrix\Highloadblock\HighloadBlockTable as HLBT;
const MY_HL_BLOCK_ID = 4;
CModule::IncludeModule('highloadblock');
function GetEntityDataClass($HlBlockId)
{
if (empty($HlBlockId) || $HlBlockId < 1)
{
return false;
}
$hlblock = HLBT::getById($HlBlockId)->fetch();
$entity = HLBT::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
return $entity_data_class;
}
if (CModule::IncludeModule("iblock")):
$entity = \Bitrix\Iblock\Model\Section::compileEntityByIblock(26);
$result = $entity::getList(
array(
'select' => array('ID', 'NAME', 'UF_LINKHL'),
'filter' => array('=ID' => 20)
)
);
while ($row = $result->fetch()) {
//echo "<pre>"; var_dump($row["UF_LINKHL"]); echo "</pre>";
//----
$entity_data_class = GetEntityDataClass(MY_HL_BLOCK_ID);
$rsData = $entity_data_class::getList(array(
'select' => array('*'),
'filter' => array('ID' => $row["UF_LINKHL"]),
));
while($el = $rsData->fetch()){
echo "<pre>"; var_dump($el["UF_NAME"]); echo "</pre>";
//string "Тестовое имя тестового элемента Hiload блока"
}
//----
}
endif;?> |