Introduction - thémer avec PHP

Ressources web: http://drupal.stackexchange.com/questions/tagged/theme-templates   faq theming preprocess ou encore css

print_r la fonction PHP pour découvrir les données

Ajouter en haut des .tpl.php ce code pour voir les variables passées au thème <?php $vars = get_defined_vars(); print_r($vars); ?>

les tableaux ([] => Array)

print_r retourne des tableaux, par ex pour la taxo: [taxonomy] => Array

Si print_r retourne
   [location] => Array
        (
            [lid] => 3
            [name] => My Place
            [street] => 235 King Edward Avenue
            [city] => Ottawa

        )
Alors <?php print $location['city']; ?> affichera la ville.

Note: -> indique une fonction ou variable dans un objet.
Ex: avec un objet node qui a une var nid on écrit $node->nid
                Mais si $node est une var alors écrire $node['nid']

dprint_r plus lisible que print_r

avec devel

<?php
$vars = get_defined_vars();
dpm ($vars);
?>
Dans node.tpl.php écrire: <?php dpm ($node); ?>

utiliser les variables dans son template .tpl.php

<?php print $title; ?> affiche le titre. Alors le code suivant affiche le titre avec un lien vers le noeud et formate le tout:

<h2 class="title">
  <a href="<?php print $node_url; ?>" title="<?php print $title; ?>"><?php print $title; ?></a>
</h2>

 

Source: https://drupal.org/node/348916

S'il y a du code HTML dans les données, 2 solutions
dans un champs txt htmlentities
<?php
echo '<textarea cols=80 rows=30>';
print_r($vars);
echo
'</textarea>';
?>
<?php
echo '<pre>';
echo
htmlentities(print_r($vars,1));
echo
'</pre>';
?>

vidéo à https://drupalize.me/videos/php-themers?p=1146