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!');
}
}