手机
当前位置:查字典教程网 >CMS教程 >drupal >自定义drupal注册表单的方法
自定义drupal注册表单的方法
摘要:本文实例讲述了自定义drupal注册表单的方法。分享给大家供大家参考。具体实现方法如下:drupal默认用户注册表单中只有用户名称,帐号密码...

本文实例讲述了自定义drupal注册表单的方法。分享给大家供大家参考。具体实现方法如下:

drupal默认用户注册表单中只有用户名称,帐号密码,邮箱等字段,如果想对用户做一些好的交互,必须要用到用户一些稍微详细的信息,而drupal的hook_user可以很方便的让我们添加这些信息,比如我的站点要给用户加入性别、详细地址和个人简介,我们可以实现user钩子如下(我的模块叫snippet):

注:本人对于字符串都没有加t函数做翻译,是为了提高速度,需要的用户可以适当修改。

复制代码代码如下:function snippet_user($op, &$edit, &$user, $category = NULL) {

switch ($op) {

// User is registering.

case 'register':

// Add a field set to the user registration form.

$fields['personal_profile'] = array(

'#type' => 'fieldset',

'#title' => '个人资料(可选)',

);

$fields['personal_profile']['sex'] = array(

'#title' => '性别',

'#type' => 'radios',

'#default_value' => 0,

'#options' => array('男' , '女')

);

$fields['personal_profile']['address'] = array(

'#type' => 'textfield',

'#title' => '现居住地址',

);

$fields['personal_profile']['introduction'] = array('#title' => '个人介绍', '#type' => 'textarea', '#rows' => 5, '#cols' => 50);

return $fields;

case 'form':

$fields['personal_profile'] = array(

'#type' => 'fieldset',

'#title' => '个人资料(可选)',

'#weight' => 1,

);

$fields['personal_profile']['sex'] = array(

'#title' => '性别',

'#type' => 'radios',

'#default_value' => 0,

'#options' => array('男' , '女'),

'#default_value' => $user->sex,

);

$fields['personal_profile']['address'] = array(

'#type' => 'textfield',

'#title' => '现居住地址',

'#default_value' => $user->address,

);

$fields['personal_profile']['introduction'] = array(

'#title' => '个人介绍',

'#type' => 'textarea',

'#rows' => 5,

'#cols' => 50,

'#default_value' => $user->introduction

);

return $fields;

}

}

其中的register这个op控制用户注册表单,而form这个op控制用户编辑自己个人资料的表单。form只是比register加入了一些默认值而已,而这些默认值是从登录用户的user对象中读取的,很简单吧。

最后,如果你只是一个drupal使用者,不妨可以使用drupal内置的profile模块,手动配置和添加,更方便。

希望本文所述对大家的drupal建站有所帮助。

【自定义drupal注册表单的方法】相关文章:

drupal输出用户头像地址的方法

drupal中的ip_address函数用法分析

Drupal 启用缓存和Gzip压缩设置方法

Drupal CMS可以制作的16种类型网站

drupal6上传中文文件名附件乱码问题解决方法

drupal按分类进行文章排序的实现方法

drupal实现在node节点的评论下面添加内容的方法

drupal常用到的几种过滤函数小结

DRUPAL6中定义hook_menu参数的方法

drupal文件系统概述

精品推荐
分类导航