Using the profile module I’ve created a textfield called profile_real_name which the user fills out when registering. How do I access this variable in the node.tpl.php?
I used the dsm($user) function to output the user variables and it contained everything except the data for the profile_real_name
I also ran dsm($vars) on the phptemplate_preprocess_user_profile and I could see it contained an object called account which did contain the info I needed but this object isn’t available in the $user variable.
Many thanks
If you want to access the author’s profile information in node.tpl.php, then you want to work with a phptemplate_preprocess_node function rather than the user_profile one. The node preprocess function doesn’t have an $account object by default though, so you’ll have to load it in:
This goes in the phptemplate_preprocess_node function in your template.php file:
Then you would be able to access the author’s profile values in your node.tpl.php. The value you asked about specifically would be:
However, it sounds like you might want the node author’s name to appear as the profile_real_name value rather than their account name?
If so, a MUCH more efficient way would be to override the theme_username function.
That’s not directly what you asked about so I won’t go into it here, but this post on the drupal.org forums would be an excellent place to start for Drupal 5 or 6:
http://drupal.org/node/122303#comment-204277