Drupal:为什么表单api在_page函数之外不起作用?

时间:2011-05-17 17:53:50

标签: api drupal forms drupal-7

我一直在阅读api的基本形式,并提出了一些基本的可行形式...但是我想要附加我的表格的其他内容,麻烦的是他们不能相处在一起。

如果我将drupal_get_form放在主_page()函数中,它的效果很好...... 如果我将drupal_get_form放在不同的函数中,它只输出'Array'。 如果我把drupal_get_form结果放在变量中:

 $content = $flash;
 $content .= drupal_get_form;

我得到一个'数组',它不会渲染表格。但闪光灯出现了。 (??) 这是为什么?

我正在使用Drupal 7 btw,

感谢阅读。

1 个答案:

答案 0 :(得分:0)

drupal_get_form()不会返回字符串,而是在Drupal 7中返回一个所谓的“渲染数组”。要将其渲染为字符串,请使用drupal_render()

$content .= drupal_render(drupal_get_form(...));

或者你也可以使$ content成为一个渲染数组:

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

优点是您可以在页面回调,块和类似位置返回渲染数组,它只会在页面请求结束时呈现,从而使其他模块可以更改内容的结构。