How to display a field before the title when the title was printed before the node template? This answer works when the title is printed in the node template.

However, the base node template contains this code:

&lt;?php if (!$page): ?&gt;
    &lt;h2&lt;?php print $title_attributes; ?&gt;&gt;&lt;a href="&lt;?php print $node_url; ?&gt;"&gt;&lt;?php print $title; ?&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;?php endif; ?&gt;


So how do I print a field before the title when the title was already printed in the page template?
page.tpl.php has a $node variable on all node/%nid pages. So you have two options:


You can use it directly in page.tpl.php (with the help of the field_get_items() and field_view_field() functions).
You can do your messing around with $variables['node'] in a THEME_preprocess_page() function in your theme's template.php, then add your complete data to $variables[] to print the final value in page.tpl.php.


This may also help: Setting up variables in preprocess functions