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