[development] Custom user data tab not displayed with hook_user
Lee Rowlands
leerowlands at rowlands-bcs.com
Tue Mar 2 23:33:43 UTC 2010
Hi Steve
The user module handles the hook_menu for user categories defined through
hook_user.
Perhaps the access callback/access arguments are the issue?
Lee
-----Original Message-----
From: development-bounces at drupal.org [mailto:development-bounces at drupal.org]
On Behalf Of Steve Edwards
Sent: Wednesday, 3 March 2010 6:11 AM
To: Drupal Development
Subject: [development] Custom user data tab not displayed with hook_user
I took over a site that has custom user data stored in a separate table, and
I would like to display those fields in a separate tab in the user profile.
I figured I could just write a page and form function, but I'd like to
integrate it with user data. I have the following hook_user implementation:
function hsi_user($op, &$edit, &$account, $category = NULL) {
switch ($op) {
case 'categories':
$data[] = array(
'name' => 'hsi_demo',
'title' => 'Demographics',
'weight' => 3,
'access callback' => TRUE,
);
return $data;
case 'form':
$data = db_fetch_object(db_query("SELECT bday, gender, nation,
religion, heard FROM hsi_demo WHERE uid = %d", $account->uid));
$countries = _hsi_countries();
$fields['hsi_demo']['bday'] = array(
'#type' => 'date',
'#title' => 'Birth Date',
'#default_value' => isset($edit[$field->name]) ?
$edit[$field->name] : '',
'#required' => TRUE,
);
$fields['hsi_demo']['gender'] = array(
'#type' => 'select',
'#title' => 'Gender',
'#options' => array('m' => 'Male', 'f' => 'Female'),
'#default_value' => $data->gender,
);
$fields['hsi_demo']['nation'] = array(
'#type' => 'select',
'#title' => 'Country',
'#options' => $countries,
'#default_value' => $data->nation,
);
$fields['hsi_demo']['denomination'] = array(
'#type' => 'select',
'#title' => 'Denomination',
'#options' => $countries,
'#default_value' => $data->denomination,
'#options' => $denominations,
);
return $fields;
}
}
The problem is, I don't get my Demographics tab displayed. Do I also need a
hook_menu entry for this path (i.e. user/%user/edit/hsi_demo)? What else am
I missing?
Thanks.
Steve=
Internal Virus Database is out of date.
Checked by AVG - www.avg.com
Version: 8.5.406 / Virus Database: 271.1.1/2686 - Release Date: 02/13/10
19:35:00
More information about the development
mailing list