我应该编写一个简单的模块(不使用 WebForms)来制作用于获取数据的表单。 但是我的表单元素没有显示。 我使用 drupal 6.0 文档,但我不知道哪里出了问题!
这是 link我的源代码。
我收到错误消息:警告:第 29 行/var/www/drupal/sites/all/modules/registeration/registration.module 中缺少 registration_register_form() 的参数 2。
但我写了正确的论据。
最佳答案
您不需要在大多数* 表单中传递$form
和$form_state
。
试试这个:
function registration_register_form(){
代替:
function registration_register_form($form, &$form_state){
背景:drupal_get_form
将任何给定参数传递给 registration_register_form()
,但在 registration_all()
中,您不会传递任何额外参数。 (只是表单函数的回调)。
请注意,您仍然需要在提交函数中传递 $form
和 $form_state
,因为 registration_register_form_submit()
使用 $form_state 的数据。
*大多数情况:
如果您的表单是一个多步骤表单,并且表单随 $form_state
变量的值发生变化,那么这是一个很好的用例,您确实需要将 $form 和 $form_state 传递给 registration_register_form()
更新 检查您的代码后,我发现了许多错误。 查看新版本:http://pastebin.com/VNa3veFR (未上市) 我已经纠正了大部分我能注意到的问题。请参阅函数名称上方的内联注释和注释 block 。
关于php - drupal 6 模块编程语义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12978317/