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鞋钉帮助我完成变身钩(我快到了)_Drupal_Drupal 6_Drupal Fapi - Fatal编程技术网

Drupal鞋钉帮助我完成变身钩(我快到了)

Drupal鞋钉帮助我完成变身钩(我快到了),drupal,drupal-6,drupal-fapi,Drupal,Drupal 6,Drupal Fapi,所以我想我在概念上已经差不多做到了,但是需要一些缺少的指针 我们的目标是在普通用户注册表单中添加几个字段,稍微设置一点样式,然后将这些字段存储在一个表中并提交 这就是我目前所拥有的。有人能最后推我一下让我走吗。请帮帮我。另外,如何应用一些次要样式,例如对齐新表单字段 非常感谢 功能模块_菜单(){ $items=array(); $items['school/registration']=数组( '标题'=>'升级的注册表', “页面回调”=>“模块学校注册”, “键入”=>菜单\u回调 ))

所以我想我在概念上已经差不多做到了,但是需要一些缺少的指针

我们的目标是在普通用户注册表单中添加几个字段,稍微设置一点样式,然后将这些字段存储在一个表中并提交

这就是我目前所拥有的。有人能最后推我一下让我走吗。请帮帮我。另外,如何应用一些次要样式,例如对齐新表单字段

非常感谢

功能模块_菜单(){
$items=array();
$items['school/registration']=数组(
'标题'=>'升级的注册表',
“页面回调”=>“模块学校注册”,
“键入”=>菜单\u回调
))

退回$items; }//函数结束

功能模块\学校\注册表(){ 返回drupal_get_form(“form_school_register”); }//函数结束

功能模块\学校\表格\变更(&$form、$form\u state、$form\u id) {

dsm(表格id)

如果($form\u id=='user\u registration\u form') { //通过在另一个提交处理程序数组前加前缀来修改“#提交”表单属性 $form['#submit']=array\u merge( 数组(“模块注册提交”=>array()), $form['#submit'] ))

} }

函数\u模块\u注册\u提交($form\u id,$form\u值){ //在不同的表中存储额外的数据 }

功能模块\注册\验证($form,&$form\状态) { $error=0; //在这里验证的东西,设置$error为真,如果出了什么问题,或者你想怎么做。如何设置错误完全取决于你。 如果($error) { 表单设置错误('new_field_name','AHH SOMETHING!'); }
}

我建议您在推出自己的解决方案之前先看看内容配置文件模块

您可以为学校注册定义自定义内容类型(节点),添加cck字段,并将其作为内容配置文件激活。在内容配置文件设置中,然后在用户注册表中激活它。零码

雷德本是对的,可能是更好的解决方案

看起来您以一种奇怪的方式添加了第二个提交处理程序——它只是一个函数的名称,而不是一个数组。是否已检查提交处理程序是否正在运行

因为对处理程序的引用是一个简单的字符串,所以只需要使用

$form['#submit'][]='_module\u registration\u submit'

如果需要在标准处理程序之前运行,请使用
array\u unshift
将其推送到
\submit
数组的开头

 function module_menu() {
$items = array();
$items['school/registration'] = array(
      'title' => 'Upgraded Registration Form',
      'page callback'    =>'module_school_register',
      'type' => MENU_CALLBACK
);

return $items; }//end of the function

function module_school_register(){ return drupal_get_form('form_school_register'); }//end of the function

function module_school_form_alter(&$form, $form_state, $form_id) {

dsm($form_id);

if ($form_id == 'user_registration_form') { // modify the "#submit" form property by prepending another submit handler array $form['#submit'] = array_merge( array('_module_registration_submit' => array()), $form['#submit'] );

} }

function _module_registration_submit($form_id, $form_values) { // store extra data in different table }

function module_registration_validate($form, &$form_state) { $error=0; //Validation stuff here, set $error to true if something went wrong, or however u want to do this. Completely up to u in how u set errors. if ($error) { form_set_error('new_field_name', 'AHH SOMETHING WRONG!'); } }