All I want is it to display as a secondary tab, but I can't even get that to show up. Is the code below sufficient to make that happen, or am I missing something else?
Thanks. Steve On Mar 2, 2010, at 3:39 PM, Jamie Holly wrote: > Categories display as secondary tasks under the Edit tab. If you want a > primary tab on top then yeah - you need to do a new menu hook like > /user/%user/demographics with the type set to MENU_LOCAL_TASK > > Jamie Holly > http://www.intoxination.net > http://www.hollyit.net > > > On 3/2/2010 3:10 PM, Steve Edwards wrote: >> 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 >>
