Search by

liventin / base.module.options.provider.table

Liventin

Table option provider (handlers registry viewer)

Package info

github.com/Liventin/base.module.options.provider.table

Type:bitrix-d7-module

pkg:composer/liventin/base.module.options.provider.table

Statistics

Installs: 32

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.2 2026-09-16 19:13 UTC

This package is auto-updated.

Last update: 2026-09-16 19:14:24 UTC


README

Bitrix Base Module

install | update

"require": {
    "liventin/base.module.options.provider.table": "^1.0.0"
}

redirect (optional)

"extra": {
  "service-redirect": {
    "liventin/base.module.options.provider.table": "module.name",
  }
}

Что это

View-only провайдер опции-таблицы (type: 'table'). Опция не сохраняет значений; данные для таблицы собирает вызывающий код и передаёт через параметры:

$provider = $srvOptions->getProvider('table');

return $provider
    ->setColumns(['Колонка 1', 'Колонка 2', ...])
    ->setChildColumns(['Колонка 1', ...])  // заголовки под-таблицы (если отличаются от основной)
    ->setRows(self::collectRows())
    ->setEmpty('Нет данных')
    ->setExpandLabel('Клик по строке — показать вложенные строки')
    ->setShowHeader(true)
    ->getParamsToArray();

Заголовок над таблицей рендерится только при setShowHeader(true) (или showHeader => true в params) и непустом name опции. По умолчанию заголовок не выводится.

Формат строки

[
    'cells' => [
        'text',                          // простая ячейка
        ['text' => 'Статус', 'status' => 'ok'],  // статусная ячейка: ok (зелёная) | no (красная)
    ],
    'highlight' => true,   // подсветить строку (например, свои обработчики модуля)
    'children' => [        // (опционально) вложенные строки — строка становится раскрываемой:
        [ /* та же структура, без children */ ],
    ],
]

Порядок children задаёт вызывающий код. Дочерние строки рендерятся с шапкой из childColumns (если не заданы — используется columns), так что набор колонок у под-таблицы может отличаться.