Some modules add sections to your 'My Account' page. For example, the user module adds content like 'Member for: 4 days.' Blog module, profile module as well as many contributed modules add in their own content. Some modules provide a configuration option to decide if such content is shown, but many do not. If you want to change that default My Account page, here are some ideas for both coders and non-coders.
1. Implement hook_profile_alter in a custom module and go ahead and unset any sections, change the order of things, or change the titles or content itself. This hook and the way this user content is arranged has been improved in Drupal 6 but it is usable in Drupal 5 as well.
2. Add in your own user content by implementing hook_user using $op of 'view' in a custom module.
3. Use hook_menu_alter. In Drupal 6 this great hook lets you change menu callbacks. If you want to completely override the My Account page, you could override the callback to display your own custom content.
1. Take over the entire page using panels. You can create a panel with the path of user/% and give it an argument of user, then set your own content. This will override the usual My Account page content and give you complete control.
2. Try out my My Account Alter module, which is just a user interface to let admins remove or re-order the My Account content. I just ported it to Drupal 6 with improvements.
3. To add your own content to the page without removing the existing content, you can add a block and set it to display on user/*.
Jody is a full stack Drupal expert. She does technical architecture, strategy, development, consulting, and developer training. Jody has worked on hundreds of Drupal projects since she began as a freelancer in 2006 and co-founded Zivtech in 2008. Jody grew up in the Philadelphia area and graduated from Harvey Mudd College in California in 2000.
View the discussion thread.
Tell us about your project