No se si conozcas el patron Modelo - Vista - Controlador (MVC), pero ponete a pensar que el modelo es la base de datos, la vista son los tpls en donde programar ... y el controlador es lo que interactua con el modelo para pasarle los datos a la vista.
Resumiendo: En tu preprocess vos declaras las variables, y en los tpls las usas.
Es muy comun que dentro de los ficheros tpls tambien hagas llamadas a la base de datos, o declares variables y demas. Pero, siendo puristas, no deberiamos hacerlo, ya que la vista es para mostrar el html, y el controlador lo usamos para declarar esas variables que iran dentro de un tpl....
Declara la siguiente funcion:
Código PHP:
function phptemplate_preprocess_user_profile_category(&$variables){
global $user;
$variables["usuario"] = $user;
}
Dentro del tpl user-profile-category.tpl.php pone esto:
Código PHP:
<?php
print_r($usuario);
?>
Te deberia funcionar, siguiendo esta metodologia, declara las variables que vayas a usar en la primer funcion, y en el tpl solo imprimilas.
Saludos.