Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
Вы бы для начала написали какой-нибудь код, может что-то неправильно делаете. Или результаты GetFields() через print_r.
А то написали: "Не могу получить Код статуса элемента...", а вы все догадывайтесь, что же там было написано...
В файле компонента \bitrix\components\bitrix\catalog.section\component.php в 403 стороке.
while($obElement = $rsElements->GetNextElement())
{
$arItem = $obElement->GetFields();
...
}
Так вот почему там нет WF_STATUS_ID? Здесь "Поля элемента информационного блока" указано что должно быть.
И кстати проблему решил в файле в шаблона components\bitrix\catalog.section\list\template.php прописал:
$rsWFStatus = CWorkflowStatus::GetList($by="c_sort", $order="asc", Array("ACTIVE" => "Y"), $is_filtered);
$arResult["WF_STATUS"] = array();
while ($arStatus = $rsWFStatus->GetNext())
{
$arResult["WF_STATUS"][$arStatus["ID"]] = $arStatus["TITLE"];
}
...
$WF_STATUS_ID = CIBlockElement::WF_GetCurrentStatus($arElement["ID"]);
echo $arResult["WF_STATUS"][$WF_STATUS_ID];
И опять же что за функция WF_GetCurrentStatus? не помню где нашёл, описание в API вроде бы нет.
C файлом шаблона всё нормально, я его скопировал в свой шаблон.
Проверил стандартным выводом:
<?php echo "<pre>"; print_r($arItem); echo "</pre>"; ?>
C изменение стандартных компонентов под себя тоже знаком.