Référence en anglais sur drupal.org : http://drupal.org/node/807330
8 Juin 2010 - 06h56
Tous les thèmes disposent d'un fichier node.tpl.php qui est le fichier gabarit standard (ou fichier maquette de mise en page) . Si le votre ne l'a pas, vous pouvez le copier depuis le module node qui se trouve dans le dossier modules/node de votre installation Drupal. Le noyau Drupal vous permet l'utilisation du variant suivant pour chaque type de contenu que vous avez créé dans votre site :
node-<NOM_DU_TYPE_DE_CONTENU>.tpl.php
Par exemple : node-chronique.tpl.php sera utilisé pour styliser un node de type chronique.
Important : lorsque vous ajoutez un nouveau modèle de mise en page, vous devez reconstruire le registre de thème, sinon le nouveau modèle ne sera pas détecté par le moteur de thème. Pour reconstruire ce registre :
CCK met les variables suivantes à disposition à votre disposition pour leur utilisation dans les mises en pages :
Contient le rendu HTML du champ, y compris le libellé et toutes les valeurs du champ, selon le paramétrage défini dans l'onglet Afficher les champs.
Contient le rendu HTML du groupe de champs (s'il existe), y compris le libellé et tous les groupes de champs, selon le paramétrage défini dans l'onglet Afficher les champs.
Cette variable contient également le code HTML contenu dans toutes les variables $
Contient les valeurs brutes des champs, dans le format tableau habituellement utilisé en interne par CCK. Ce que vous trouverez là dépendra du type du champ.
Chaque valeur contient également un élément « view », qui renferme la valeur mise en forme et prête à afficher. Par exemple :
Les données brutes (raw) ne sont pas assainies pour l'affichage, il est donc déconseillé de les utiliser telles quelles. Utilisez la valeur « view » ou passez-la via la fonction content_format().
Par défaut, la variable $content des gabarits de node contient le rendu HTML de tout le node : les champs et groupes de champs CCK, mais aussi le corps, les fichiers joints, les widgets...
Si vous voulez utiliser les variables plus précises décrites ci-dessus, vous pouvez utiliser les cases à cocher Exclure de l'écran Afficher les champs afin que l'affichage des champs soient omis dans la variable $content.
Notez qu'il y a des cases à cocher Exclure pour le teaser comme pour le node complet. Si l'affichage de votre écran est limité, il se peut que vous ne puissiez voir la colonne Exclure qui se trouve complètement à droite de la page.
En utilisant les variables $
Les cases à cocher Exclure affectent tous les thèmes actifs. Toutefois, sur les sites ayant plusieurs thèmes, la liste des champs à exclure de $content peut être différente selon les thèmes, en fonction de la structure des gabarits de nodes.
Un thème peut outrepasser ces paramètres en surchargeant la fonction theme_content_exclude() pour spécifier la liste des champs à exclure pour ce thème (voir le PHPDoc de la fonction pour plus d'infos).
En plus de ce qui précède, les suggestions suivantes seront prioritairement recherchées pour les nodes affichés en tant que valeurs de champs nodereference utilisant les formateurs « teaser » ou « full node » :
Les variables supplémentaires suivantes sont disponibles dans les gabarits pour les nodes référencés :