How many ways can you theme user profile pages?

Some sites need extra customization to make pages look a certain way. This is often done via theme customization.

One area that often advanced clients ask for is the user profile page. Drupal core offers pages based on profile categories, which each category listing the fields that belong to it.

The following methods require some additional programming.

  1. Via template.php and user_profile.tpl.php. See details on how to modify the profile page with a lot of snippets you can place in that page.
  2. Use the themer pack, which has an example user_profile.tpl.php .
  3. Use the bio module, and create a cck type (e.g. userbio) and make it override the user profile page. Then create a file called node-userbio.tpl.php and put in it whatever customization you need.
  4. Instead of the bio module you can also use the user node module, which has more features, but more dependencies.

If you have other ways of customizing the user page or the user profile page, please post them as comments below.

Contents: 

Comments

actually usernode...

I quite like usernode for this task. You can extend it easily with CCK and theme it like any node.

You mention dependencies, and that is the impression that the author gives in the documentation, but actually it works great on its own as a replacement for profile module. Just be sure that you don't need multiple usernode pages per user.

usernode + nodefamily

I recently gave a talk and demo on this subject at the Buenos Aires Drupal Users Group.

One further method you haven't mentioned in your interesting list is the use of nodeprofile and nodefamily, which allows you to create one or more custom cck profile nodes via nodefamily, and then, also via nodefamily, create a tree of nodes for each nodeprofile. These can be themed, and serves as a sophisticated extension to the usernode approach. There are all kinds of possibilities, including the associated pageroute module, which allows for wizard like editing of the complex multi-node profile.

saludos,

Victor Kane
http://awebfactory.com.ar

You can also use Panels and Views

I recently did a webpage for one of my other hobby programming languages, Dark Basic Pro. Its a database of code snippets - http://codebase.dbp-site.com - and one of the things I REALLY wanted was a user profile page which was of some use.

Its actually quite easy to create a profile page using Panels and Views programatically... For example:
http://codebase.dbp-site.com/user/Nick

Here is how I did it...
http://www.thingy-ma-jig.co.uk/blog/12-06-2007/sprucing-up-your-user-profile-pages

The site is slightly broken right now due to a Drupal-5.2 upgrade which hasn't gone entirely to plan...

User profiles

Tried the tutorial from shellmultimedia.com, combining nodeprofile package, usernode, guestbook, views and cck. This package is much more extensible, that why I prefer to disable the core profile.module instead. You can check it out here.

If you want to see the full page profile, you have to register, well at least you can get along with our local blogger network. We love to get along with the rest of the world.

Thanks, Khalid, for great modules you share to the community.

Love, light n laughter
Gaus Surahman, the blogidator