Можно ли вернуть форму, темы, содержимое в массиве для функции обратного вызова моей страницы?


На данный момент мне нужно вернуть тематическую таблицу, форму и содержимое на одной странице. В функции обратного вызова моей страницы как правильно хранить и возвращать эту переменную/массив?

Я посмотрел на страницу ниже, но код, похоже, работал неправильно. Я могу показать только тематическую таблицу (первую в массиве), но ничего больше после нее.

Возврат как формы, так и содержимого в обратном вызове меню

ИЗМЕНИТЬ:

Я попробовал код ниже для моего возвращения, но это не работает. $заголовок и $строки правильно объявлены и содержат правильные данные.

return array(
  'my_content' => array(
    '#type' => 'markup',
    '#markup' => 'Some markup',
  ),
  'my_table' => theme('table', array('header' => $header, 'rows' => $rows)),
);
Author: Community, 2012-05-09

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,
  ),
);
 1
Author: Sam152, 2012-05-11 00:58:31