Структурированная таблица
Добавление структурированной таблицы в класс
Аналогично виджету Table, Structured Table может хранить структурированные данные. При этом есть несколько принципиальных отличий.
- Строки и столбцы заранее определены и имеют имена.
- Для каждого столбца можно задать тип данных. Возможные типы: text, number и boolean.
- Данные структурированной таблицы доступны через геттеры и сеттеры и хранятся в базе данных в структурированном виде.
Вы можете добавить компонент Structured Table в определение класса:

Для того чтобы определить таблицу, необходимо указать заголовки строк и столбцов, которые будут использоваться для заполнения содержимого структурированной таблицы.

После этого вы сможете использовать таблицу в объекте:

Хранение данных Structured Table
Для каждой комбинации строки и столбца будет создана отдельная колонка в таблице базы данных того класса, в котором используется Structured Table.
Поэтому этот тип структурирования данных не подходит для случаев с большим количеством строк или столбцов: число создаваемых колонок может стать проблемой. При проектировании класса следует учитывать максимально возможное количество колонок, так как это может представлять техническое ограничение.
Использование Structured Table через PHP API
В коде данные этого поля доступны как объект типа StructuredTable. Примеры использования:
/** @var \Pimcore\Model\DataObject\Data\StructuredTable $structuredData */
$structuredData = $object->getAdditionalinfo();
//Возвращает ассоциативный массив для строки 'CommunityEdition' со всеми столбцами
$structuredData->getCommunityedition();
//Возвращает ассоциативный массив для строки 'CommunityEdition' со всеми столбцами
$structuredData->getCommunityedition__support();
//Устанавливает значение в ячейке
$structuredData->setCommunityedition__support("Forum");
//Другой способ установки данных в структурированную таблицу
$data = [];
$data['communityedition']['opensource'] = true;
$structuredData->setData($data);
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.