Table
Общее
Редактируемый элемент Table предоставляет возможность редактировать табличную структуру.
Конфигурация
| Имя | Тип | Описание |
|---|---|---|
defaults | array | Массив может иметь следующие свойства: строки, столбцы, данные (см. пример) |
width | integer | Ширина поля в пикселях |
class | string | CSS-класс, который добавляется к окружающему контейнеру этого элемента в режиме редактирования |
Методы
| Имя | Возвращает | Описание |
|---|---|---|
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", ""]
]
}
}) }}
Теперь вы можете изменять столбцы и предустановленные данные в режиме редактирования.
Обработка данных
Иногда необходимо использовать только данные из заполненной таблицы.
Вы можете использовать метод 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) ""
}
}
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.