为什么这个drupal形式不起作用?

时间:2011-10-03 17:09:03

标签: php forms drupal drupal-7

Drupal 7,$ output在我的页面上显示字符串“Array”,我不知道为什么,这是代码:

它的工作方式只有这样:return drupal_get_form('test_exp_form')

但是我需要在我的$ output变量中添加html和text,我不能只返回表单。

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 个答案:

答案 0 :(得分:3)

您需要使用Drupal 7中的render()函数,因为drupal_get_form会返回'渲染数组':

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

以下是Drupal 7中有关渲染数组的更多信息:

Render arrays in Drupal 7