bitrix
Как узнать имя раздела по его ID через MySQL ?
У Битрикса с этим небольшая проблема. Если нужно получить ТОЛЬКО имя элемента, использовать GetList или тот же GetByID слишком жирно.
Поскольку все элементы хранятся в одной таблице, странно, что Битрикс не добавили метод получения только имени по ID вместо тяжелого GetList.
Для решения, можно использовать следующий код:
Файл /bitrix/php_interface/init.php или /local/php_interface/init.php:
class ExtraElement { public static function getSectionNameByID($id) { global $DB; $sql = "SELECT `NAME` FROM `b_iblock_section` WHERE `ID` = $id LIMIT 1"; $res = $DB->Query($sql, false, "FILE: " . __FILE__ . "
LINE: " . __LINE__); $arResult = $res->GetNext(); if (isset($arResult['NAME'])) return $arResult['NAME']; else return false; } }
И в result_modifier.php или шаблоне уже получать:
echo ExtraElement::getElementNameByID($ELEMENT_ID);
Афоризм дня:
Легко следовать правильно за тем, кто правильно идет впереди. (606)
Leave a reply