Introduction à PHP pour la conception de thèmes

Date du document original en anglais : 16 Mars 2010 – 21h34 - http://drupal.org/node/348916

Vous enseigner le PHP sort largement du cadre de ce document, mais nous vous présentons néanmoins quelques-unes des techniques élémentaires qu'il est important de connaître pour travailler avec les thèmes.

Découvrir vos données

Utiliser le module Devel

La façon la plus facile pour voir les variables utilisées par un fichier gabarit est d'utiliser le module Devel. Non seulement il vous donnera accès aux variables utilisées dans la création de n'importe quel morceau d'une page, mais il dispose également de nombreuses fonctions pour débogguer lesdonnées pendant que vous travaillez.

Coder en dur

Si pour une raison quelconque vous ne pouvez ou ne voulez pas utiliser le module Devel, il est possible d'utiliser une fonction PHP pour voir toutes les variables passées à votre fichier gabarit.

Pour cela, ajoutez le code suivant à n'importe quel fichier gabarit (tpl.php) de votre thème :

<?php
$vars 
get_defined_vars();
print_r($vars);
?>

Chacune des techniques décrites ci-dessus utilise beaucoup de ressources etpeuvent dévoiler des informations sensibles aux internautes. Aussi, vous ne devriez jamais utiliser cette technique sur un site en exploitation.

Utiliser l'information dont vous disposez

Une fois que vous avez utilisé une des techniques précédentes, vus verrez de nombreuses variables et tableaux.

Si vous le souhaitez, vous pouvez spécifier l'une de ces variables dans le fichier gabarit.

Par exemple, pour afficher le titre, vous pourrez ajouter le code suivant à votre fichier tpl.php :

<?php print $title?>

Pour afficher le titre du node, avec un lien pointant sur ce node et un peu de balisage, ajoutez le code suivant :

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

Tableaux

La technique du print_r montrée ci-dessus affichera probablement un certain nombre de tableaux.

Par exemple, si vous utilisez une taxonomie, vous pourriez obtenir quelque chose comme ceci :

[taxonomy] => Array

Un tableau permet le regroupement organisé de données ayant un rapport entre elles. Si vous voulez n'afficher qu'un item d'un tableau, vous spécifierez cet item en utilisant sa clé. Par exemple, supposons que print_r vous affiche le tableau suivant :

[location] => Array
        (
            [lid] => 3
            [name] => My Place
            [street] => 235 King Edward Avenue
            [additional] =>
            [city] => Ottawa
            [province] => ON
            [postal_code] => K1N 7L8
            [country] => ca
            [latitude] => 45.431993
            [longitude] => -75.688390
            [source] => 3
            [is_primary] => 0
            [province_name] => Ontario
            [country_name] => Canada
        )

Vous voulez n'afficher que la ville, ajoutez le code suivant à votre fichier .tpl.php :

<?php print $location['city'?>

Il y a d'autres façons de manipuler votre contenu avec PHP. Pour plus d'informations à ce sujet, consultez un des manuels de référence PHP disponibles sur le web.