Drupal:为什么表单 api 在 _page 函数之外无法工作?
我一直在阅读基本表单 api,并提出了一些基本的可行表单...但是我想在我的表单中附加其他内容,问题是它们无法相处。
如果我将 drupal_get_form 放在 main _page() 函数中,效果很好...... 如果我将 drupal_get_form 放在不同的函数中,它只输出“Array”。 如果我将 drupal_get_form 结果放入变量中:
$content = $flash;
$content .= drupal_get_form;
我得到一个“数组”,它不会呈现表单。但闪光灯出现了。 (??) 这是为什么?
顺便说一句,我正在使用 Drupal 7,
感谢您的阅读。
I've been reading up on the basic form api and came up with some basic workable forms... but there's this other content I'd like appended with my form, trouble is that they won't get along together.
If I put the drupal_get_form in the main _page() function, it works great ...
If I put the drupal_get_form in a different function, it only outputs 'Array'.
If I put the drupal_get_form results in a variable:
$content = $flash;
$content .= drupal_get_form;
I get an 'Array', it won't render the form. The flash appears though. (??) why is that?
I am using Drupal 7 btw,
Thanks for reading.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
drupal_get_form()
不返回字符串,而是返回 Drupal 7 中所谓的“渲染数组”。要将其渲染为字符串,请使用drupal_render()
:或者您可以$content 也是渲染数组:
优点是您可以在页面回调、块和类似位置返回渲染数组,并且它只会在页面请求结束时渲染,从而使其他模块可以更改内容的结构。
drupal_get_form()
does not return a string but a so called "render array" in Drupal 7. To render it into a string, usedrupal_render()
:Or yo could make $content a render array too:
The advantage is that you can return render arrays in page callbacks, blocks and similar places and it will only be rendered at the end of the page request, giving other modules to change the structure of the content.