Почему эта друпальная форма не работает? - PullRequest
0 голосов
/ 03 октября 2011

Drupal 7, $ output показывает строку "Array" на моей странице, я не знаю почему, это код:

Работает только так: return drupal_get_form('test_exp_form')

Но мне нужно добавить html и текст в мою переменную $ output, и я не могу просто вернуть форму.

function test_page() {
     $output = '<div>Hello</div>';
     $output = drupal_get_form('test_exp_form');
     return $output;
}

function test_exp_form($form, &$form_stat) {
  $form = array();

    $form['example_textfield'] = array(
      '#type' => 'textfield',
      '#title' => t('Example Textfield'),
      '#default_value' => 'some text',
    );

  return $form;
}

1 Ответ

3 голосов
/ 03 октября 2011

Вам необходимо использовать функцию render() в Drupal 7, так как drupal_get_form возвращает 'рендер-массив':

function test_page() {
  $output = '<div>Hello</div>';
  $output .= render(drupal_get_form('test_exp_form'));
  return $output;
}

Вот еще немного информации о массивах рендеринга в Drupal7:

Визуализация массивов в Drupal 7

...