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);
Афоризм дня:
Кто сам хороший друг, тот имеет и хороших друзей. (612)

Leave a reply