Новое обновление в ORM - получение списка свойств элемента инфоблока.
До недавного времени для получения списка свойств элемента инфоблока в D7, приходилось использовать конструкцию вида
Появилось обновление модули iblock версии: 19.0.0, где добавили elementpropertytable.php, что дает возможность получить список свойств инфоблока
Правда вывод производится в некотором ограниченном виде
Как видите не хватает NAME, CODE и т.д. но эти имена можно без труда получить через \Bitrix\Iblock\PropertyTable
До недавного времени для получения списка свойств элемента инфоблока в D7, приходилось использовать конструкцию вида
$res = \Bitrix\Iblock\ElementTable::getList(array(
"select" => array("ID", "NAME"),
"filter" => array("IBLOCK_ID" => 25, "ID" => 4584),
"order" => array("ID" => "ASC")
));
while ($arItem = $res->fetch()) {
$dbProperty = \CIBlockElement::getProperty(
$arItem['IBLOCK_ID'],
$arItem['ID'], array("sort", "asc"),
array()
);
while ($arProperty = $dbProperty->GetNext()) {
$arItem["PROPERTIES"][$arProperty['CODE']] = $arProperty;
}
echo "<pre>".print_r($arItem, true)."</pre>";
} |
Появилось обновление модули iblock версии: 19.0.0, где добавили elementpropertytable.php, что дает возможность получить список свойств инфоблока
$res = \Bitrix\Iblock\ElementTable::getList(array(
"select" => array("ID", "*"),
"filter" => array("IBLOCK_ID" => 25, "ID" => 4584),
"order" => array("ID" => "ASC")
));
while ($arItem = $res->fetch()) {
$propRes = \Bitrix\Iblock\ElementPropertyTable::getList(array(
"select" => array("ID", "*"),
"filter" => array("IBLOCK_ELEMENT_ID" => $arItem["ID"],),
"order" => array("ID" => "ASC")
));
while($prop = $propRes->Fetch())
{
$arItem["PROPERTIES"][$prop["IBLOCK_PROPERTY_ID"]] = $prop;
}
echo "<pre>".print_r($arItem, true)."</pre>";
} |
Правда вывод производится в некотором ограниченном виде
[888] => Array ( [ID] => 28357 [IBLOCK_PROPERTY_ID] => 482 [IBLOCK_ELEMENT_ID] => 4584 [VALUE] => 5485 [VALUE_TYPE] => text [VALUE_ENUM] => [VALUE_NUM] => 5485.0000 [DESCRIPTION] => ) |