Можно ли вернуть форму, темы, содержимое в массиве для функции обратного вызова моей страницы?
На данный момент мне нужно вернуть тематическую таблицу, форму и содержимое на одной странице. В функции обратного вызова моей страницы как правильно хранить и возвращать эту переменную/массив?
Я посмотрел на страницу ниже, но код, похоже, работал неправильно. Я могу показать только тематическую таблицу (первую в массиве), но ничего больше после нее.
Возврат как формы, так и содержимого в обратном вызове меню
ИЗМЕНИТЬ:
Я попробовал код ниже для моего возвращения, но это не работает. $заголовок и $строки правильно объявлены и содержат правильные данные.
return array(
'my_content' => array(
'#type' => 'markup',
'#markup' => 'Some markup',
),
'my_table' => theme('table', array('header' => $header, 'rows' => $rows)),
);
1 answers
Помните, что theme('table'..
возвращает HTML-разметку, поэтому вы назначаете HTML-строку ключу my_table
. В примере, который вы связали, использовался drupal_get_form
, который возвращает отображаемый массив, поэтому он функционировал бы правильно. Поскольку render()
не знает, что делать со строкой HTML, вы должны передать функции визуализации информацию до того, как она будет преобразована в HTML:
return array(
'my_content' => array(
'#type' => 'markup',
'#markup' => 'Some markup',
),
'my_table' => array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
),
);