Перейти к основному содержимому

Table

Общее

Редактируемый элемент Table предоставляет возможность редактировать табличную структуру.

Конфигурация

ИмяТипОписание
defaultsarrayМассив может иметь следующие свойства: строки, столбцы, данные (см. пример)
widthintegerШирина поля в пикселях
classstringCSS-класс, который добавляется к окружающему контейнеру этого элемента в режиме редактирования

Методы

ИмяВозвращаетОписание
getData()arrayПолучить данные таблицы как массив
isEmpty()boolПроверяет, пуст ли редактируемый элемент или нет

Примеры

Основное использование

{{ pimcore_table("productProperties", {  
"width": 700,
"defaults": {
"cols": 3,
"rows": 4,
"data": [
["Attribute name", "Value", "Additional column"],
["Color", "Black", ""],
["Size", "Large", ""],
["Availability", "Out of stock", ""]
]
}
}) }}

Теперь вы можете изменять столбцы и предустановленные данные в режиме редактирования.

Table editable rendered in the editmode

Обработка данных

Иногда необходимо использовать только данные из заполненной таблицы. Вы можете использовать метод getData() вместо рендеринга всего HTML таблицы.

{% if editmode %}  
{{ pimcore_table("productProperties", {
"width": 700,
"defaults": {
"cols": 3,
"rows": 4,
"data": [
["Attribute name", "Value", "Additional column"],
["Color", "Black", ""],
["Size", "Large", ""],
["Availability", "Out of stock", ""]
]
}
}) }}
{% else %}
{% set data = pimcore_table("productProperties").getData() %}

{# возвращает данные в виде массива #}
{# делаем что-то с этим ;-) #}
{% endif %}

Вывод метода getData():

array(4) {  
[0] => array(3) {
[0] => string(14) "Attribute name"
[1] => string(5) "Value"
[2] => string(17) "Additional column"
}
[1] => array(3) {
[0] => string(5) "Color"
[1] => string(5) "Black"
[2] => string(0) ""
}
[2] => array(3) {
[0] => string(4) "Size"
[1] => string(5) "Large"
[2] => string(0) ""
}
[3] => array(3) {
[0] => string(12) "Availability"
[1] => string(12) "Out of stock"
[2] => string(0) ""
}
}


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.