Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal:为什么FormAPI获胜';不在页面功能之外工作?_Api_Drupal_Forms_Drupal 7 - Fatal编程技术网

Drupal:为什么FormAPI获胜';不在页面功能之外工作?

Drupal:为什么FormAPI获胜';不在页面功能之外工作?,api,drupal,forms,drupal-7,Api,Drupal,Forms,Drupal 7,我一直在阅读基本表单api,并提出了一些基本的可行表单。。。但我想在我的表格中附上另外一个内容,麻烦的是他们相处不好 如果我将drupal_get_表单放在main _page()函数中,它会非常有效。。。 如果我将drupal_get_表单放在不同的函数中,它只输出“Array”。 如果我将drupal\u get\u表单结果放入一个变量: $content = $flash; $content .= drupal_get_form; 我得到一个“数组”,它不会呈现窗体。不过,闪光灯出现

我一直在阅读基本表单api,并提出了一些基本的可行表单。。。但我想在我的表格中附上另外一个内容,麻烦的是他们相处不好

如果我将drupal_get_表单放在main _page()函数中,它会非常有效。。。 如果我将drupal_get_表单放在不同的函数中,它只输出“Array”。 如果我将drupal\u get\u表单结果放入一个变量:

 $content = $flash;
 $content .= drupal_get_form;
我得到一个“数组”,它不会呈现窗体。不过,闪光灯出现了。(??)为什么

我正在使用Drupal 7 btw

谢谢你的阅读

drupal\u get\u form()
不返回字符串,而是在drupal 7中返回一个所谓的“渲染数组”。要将其呈现为字符串,请使用
drupal\u render()

或者您也可以将$content作为渲染数组:

$content['flash']['#markup'] = $flash;
$content['form'] = drupal_get_form(...);
其优点是,您可以在页面回调、块和类似位置返回呈现数组,它将仅在页面请求结束时呈现,从而使其他模块可以更改内容的结构

$content['flash']['#markup'] = $flash;
$content['form'] = drupal_get_form(...);