Ошибка #header в таблице

Главные вкладки

Аватар пользователя AnNik AnNik 2 декабря 2017 в 21:10

Формирую в модуле табличку, все получается, кроме #header, на нем вылетает ошибка. В чем дело, никак не могу понять... Кто-нибудь сталкивался с подобным?

Фрагмент кода:

$mytabl = array();
$mytabl['mytab'] = [
      '#type' => 'table',
      '#header' => array('Field1', 'Field2', 'Field3', 'Field4',),
      '#attributes' => ['class' => 'mytablclass',],
    ];

// дальше формирование строк таблицы

return $mytabl;

Ошибка:
Error: [] operator not supported for strings в Drupal\Core\Render\Element\Table::preRenderTable() (строка 383 из ...site.ru/core/lib/Drupal/Core/Render/Element/Table.php)

Ошибка возникает именно на #header, когда эту строчка закомментирована, все отрабатывает нормально, таблица выводится. Где, как и почему при рендеринге в #header вдруг оказывается строка вместо массива?...

Лучший ответ

Аватар пользователя bumble bumble 2 декабря 2017 в 21:28
1

Значением класса атрибутов должен быть массив.

<?php
'#attributes' => ['class' => ['mytablclass']]
?>

Комментарии

Аватар пользователя AnNik AnNik 3 декабря 2017 в 6:05

bumble wrote:

Значением класса атрибутов должен быть массив.

Спасибо, помогло.
Чудеса какие-то: ошибка в #attributes, а рендеринг ломался на #header-е...