Класс Modulemarket\Translator\Iblock\SectionTable — ORM-таблица переводов разделов инфоблока в 1С-Битрикс.
Наследует Bitrix\Main\Entity\DataManager, таблица БД — fan_translator_iblock_section.
Связь с основным разделом задаётся полем SECTION типа Reference на Bitrix\Iblock\SectionTable.
Карта полей объединяет ключи ID, LANGUAGE_ID, SITE_ID, связь SECTION и переводимые колонки из getTranslatableFields().
Строка перевода раздела — запись с составным первичным ключом:
ID раздела инфоблока + LANGUAGE_ID + SITE_ID.
Примечание — исходный файл класса:
/bitrix/modules/modulemarket.translator/lib/iblock/sectiontable.php.
Важно! Подключайте модули iblock и modulemarket.translator.
Для выборок и записей явно указывайте LANGUAGE_ID и SITE_ID в фильтре или в массиве полей — значения по умолчанию полей зависят от констант окружения.
Обзор API класса
| Компонент | Описание |
|---|---|
getTableName() |
Имя таблицы: fan_translator_iblock_section. |
getMap() |
Поля ID, LANGUAGE_ID, SITE_ID, связь SECTION, переводимые поля карты Iblock\SectionTable. |
getTranslatableFields() |
Список колонок, попадающих в таблицу перевода (см. спойлер в конце страницы). |
onBeforeAdd / onBeforeUpdate |
Если в сохраняемых данных нет TIMESTAMP_X, подставляется текущие дата и время. |
Пример: выборка перевода раздела (getList)
use Bitrix\Main\Loader;
use Modulemarket\Translator\Iblock\SectionTable;
Loader::includeModule('iblock');
Loader::includeModule('modulemarket.translator');
$sectionId = 100;
$res = SectionTable::getList([
'filter' => [
'=ID' => $sectionId,
'=LANGUAGE_ID' => 'ua',
'=SITE_ID' => 's1',
],
'select' => [
'ID',
'LANGUAGE_ID',
'SITE_ID',
'NAME',
'DESCRIPTION',
'ACTIVE',
'GLOBAL_ACTIVE',
],
'limit' => 1,
]);
if ($row = $res->fetch()) {
echo htmlspecialcharsbx($row['NAME']);
}Пример: добавление строки перевода раздела (add)
use Bitrix\Main\Loader;
use Modulemarket\Translator\Iblock\SectionTable;
Loader::includeModule('iblock');
Loader::includeModule('modulemarket.translator');
$result = SectionTable::add([
'ID' => 100,
'LANGUAGE_ID' => 'ua',
'SITE_ID' => 's1',
'ACTIVE' => 'Y',
'GLOBAL_ACTIVE' => 'Y',
'NAME' => 'Название раздела (перевод)',
'DESCRIPTION' => 'Описание раздела',
]);
if ($result->isSuccess()) {
echo 'Перевод раздела сохранён.';
} else {
print_r($result->getErrorMessages());
}Целостность данных при добавлении
Ссылки по теме
Документация 1С-Битрикс: DataManager
Документация 1С-Битрикс: класс Bitrix\Iblock\SectionTable
Переводимые поля (getTranslatableFields())
Поля перевода раздела:
ACTIVE, GLOBAL_ACTIVE, NAME, DESCRIPTION,
TIMESTAMP_X, MODIFIED_BY, DATE_CREATE, CREATED_BY,
SEARCHABLE_CONTENT.
Количество показов: 557
Дата изменения: 15.05.2026 23:35:51