Introduction

Traduction de l'article de David Newkerk : http://www.davidnewkerk.com/book/18


Le but de ce guide est de vous amener pas à pas dans l'utilisation des modules CCK et Views de Drupal (ainsi que de quelques autres modules supportés) pour créer des types de contenus personnalisés (comme par exemple, nouvelles publications, articles, etc) ainsi que des pages de "listings" et des blocs pour afficher des teasers de votre contenu, puis d'en personnaliser l'apparence pour qu'ils ressemblent exactement à ce que vous souhaitez. C'est un «méga-guide» conçu pour vous faire apprendre, en partant d'un niveau débutant, les différents savoirs-faire, concepts et modules dont vou aurez besoin pour réaliser un site Drupal relativement avancé. Ce n'est pas un «tout-en-un» mais un outil d'apprentissage.

Ne vous alarmez pas de la longueur de ce guide - elle est due à la description détaillée de chaque étape, pour rendre ce guide aussi débutant-friendly que possible. Chacune de ces étapes est numérotée, cela vous permettra de savoir plus facilement où vous en êtes.

Pour les besoins de ce cours, un nouveau Type de Contenu appelé « Chronique » sera créé et un certain nombre de champs personnalisés lui seront ajoutés. Vous pouvez toutefois appliquer ce cours à n'importe quel autre Type de Contenu que vous voudriez créer ou avez déjà créé.

Pour un contrôle total, des champs personnalisés seront ajoutés par avance au Type de Contenu avec CCK, de sorte que certains champs spécifiques seront affichés dans la vue teaser mais pas dans la vue complète du contenu Chronique, et certains champs seront seulement affichés dans les pages Chronique complètes mais pas dans les vues teaser de ce contenu.

Lorsque vous aurez terminé ce cours, vous aurez developpé votre savoir-faire CCK, Views, du theming des contenus individuels (nodes) comme de Views, et votre connaissance de Pathauto et des fils d'Ariane personnalisés. Vous aurez également acquis une expérience de travail Drupal avec les images en utilisant Imagecache et Imagefield (dans ce cours nous apprendrons à ajouter des images à vos types CCK, et contrôler exactement comment et où ces images seront affichées, comme par exemple ajouter une miniature dans le teaser et l'image en plein format dans la page complète de la chronique).

Ce guide est toujours en cours de rédaction. Bien qu'il ne soit pas encore complet, il demeure une ressource très utile.

Conseils sur l'utilisation de ce guide

Exigences

Installation des modules et préparatifs divers

Traduction de l'article de David Newkerk : Installing modules and making preparations


Modules à utiliser

Avant d'aller plus loin, les modules suivants doivent être installés :

Vous pouvez également avoir besoin de ces modules pour manipuler des images. Certains peuvent être en version alpha ou bêta mais sont quand même utilisables :

Modules facultatifs

Ces modules seront utilisés dans ce cours, mais sont facultatifs :

  • Transliteration (assainit les caractères des noms de fichiers uploadés)
  • FileField Paths (permet de renommer les fichiers uploadés, selon des modèles/données prédéfinis)
  • Global Redirect (empêche les pénalités duplicate content des moteurs de recherches lorsqu'on utilise Path ou Pathauto)
  • Administration Menu (non lié à ce cours mais indispensable pour travailler rapidement et efficacement avec Drupal)

Avant de commencer, assurez-vous d'avoir installé et activé ces modules (ainsi que les modules facultatifs si vous le souhaitez). Plusieurs d'entre eux ont des « sous-modules » supplémentaires livrés avec. Vous devriez activer « tous » ces sous-modules à l'exception de ceux énumérés ci-après.

Sous-modules à ne pas activer :

  • N'activez pas le module Content Permissions jusqu'à ce que, ou à moins que, vous n'envisagiez d'attribuer des droits sur la façon dont les utilisateurs pourront voir chacun des champs que vous créerez (c'est une caractéristiques très puissante, mais aussi très consommatrice en temps). Si vous n'en avez pas, alors n'activez pas le module. Attention : si vous activez le module Content Permissions, chaque champ deviendra immédiatement invisible aux autres utilisateurs en plus de l'administrateur du site, jusqu'à ce que vous accordiez à chaque Role le droit de voir ces champs. Si vous avez déjà activé le module Content Permissions, désactivez-le maintenant.
  • Si vous n'en avez pas besoin, vous pouvez ne pas activer le sous-module « FileField Meta ».
  • Si votre serveur ne supporte pas ImageMagick, vous pouvez ne pas activer le sous-module « ImageAPI ImageMagick ».
  • Vous ne devriez pas activer le module « Advanced Help example ».

Certains sous-modules ne seront pas disponibles pour l'activation tant que vous n'aurez pas activé le module-parent, ou activé un autre module dont dépendent ces sous-modules (les dépendances sont signalées en vert et en rouge pour chaque module). Poursuivez l'activation des modules en plusieurs passes jusqu'à ce que chaque module nécessaire ait été activé.

Préparatifs si vous utilisez un éditeur WYSIWYG

Traduction de l'article de David Newkerk : Preparations if you use a WYSIWYG editor


Si vous avez installé un éditeur WYSIWYG (comme les populaires TinyMCE ou FCKeditor, entre autres), ils risquent d'aller à l'encontre des formulaires de paramétrage/configuration dans plusieurs pages d'administration Drupal (souvent en insérant du code HTML qui cassent vos paramètres). Aussi, il est préférable de désactiver dès maintenant l'éditeur WYSIWYG pour tout le site, à l'exception des pages de création de contenus, pour lesquelles il est destiné. La plupart des éditeurs permettent de choisir les endroits du site où ils doivent être actifs, il vaut mieux indiquer les quelques endroits où ils seront actifs plutôt que le grand nombre de pages où ils ne devront pas l'être.

FCKEditor

  1. FCKEditor est activé par défaut pour toutes les text area du site (pas bon). Allez dans Administrer > Configuration du site > FCKEditor settings et cliquez le lien "modifier" du profil "FCKeditor Global Profile". Les paramètres indiqués à cet endroit s'appliquent à tous les profils FCKEditor, vous n'avez donc à les saisir qu'une seule fois.

  2. Déroulez la zone "Visibility settings". Pour le paramètre Use inclusion or exclusion mode, cochez include

  3. Sélectionnez tout le texte dans la boite Fields to exclude/include : et effacez-le

  4. Tapez dans cette même boite les valeurs suivantes

    node/*

    user/*

    comment/*

  5. Vous pouvez ajouter autant de chemins/champs que vous le souhaitez pour ne faire apparaître l'éditeur FCK que pour ces pages

  6. N'oubliez pas de cliquer sur le bouton "Update global settings" pour valider vos changements

TinyMCE

Note de kolossaldrupal :

Le module TinyMCE a été abandonné au profit du module WYSIWYG. Un tuto de WYSIWYG (en anglais) est disponible ici

  1. TinyMCE est déjà paramétré pour ne s'afficher que dans les pages où il est nécessaire. Dans le cas où vous auriez modifié le paramètre par défaut, il peut être changé en allant dans Administrer > Configuration du site > TinyMCE et en cliquant dans le lien "modifier" de chaque profil (TinyMCE ne dispose pas de paramétrage global). Déroulez la zone "Visibility" pour afficher les paramètres "Show TinyMCE on specific pages".

Des paramétrages semblables peuvent être nécessaires pour d'autres éditeurs WYSIWYG. Consultez leurs documentations et leurs pages de configuration.

Préparer Drupal pour la manipulation d'images

Traduction de l'article de David Newkerk : Prepare Drupal for image handling


Paramétrer le système de fichiers

Si, depuis l'installation de Drupal, vous n'avez pas encore utilisé l'upload de fichiers, il est possible que vous n'ayez pas paramétré le système de fichiers de Drupal. Allez dans Administrer > Configuration du site > Système de fichiers.

Le paramètre par défaut pour le Chemin du dossier de stockage est généralement satisfaisant mais si vous voulez le modifier c'est maintenant qu'il faut le faire. Assurez-vous que le chemin pour le dossier temporaire soit correct (chez un hébergeur la valeur est souvent /tmp). Choisissez la méthode de download Publique, à moins que vous n'ayez une raison particulière d'en changer.

Si Drupal affiche des messages d'erreurs, suivez les instructions affichées à l'écran, et cherchez de l'aide sur drupal.org si ça coince. Il est primordial que Drupal puisse uploader et lire/écrire des fichiers et des dossiers aux emplacements indiqués sur cette page.

Paramétrer le module ImageAPI

Allez dans Administrer > Configuration du site > ImageAPI. Si votre serveur dispose de ImageMagick, vous devriez l'utiliser (il offre plus de fonctions que GD), sinon GD fera l'affaire.

Cliquez sur "Configurer". Choisissez une valeur pour la qualité JPEG, et si vous voulez choisir une autre couleur Crop background que celle proposée par défaut, indiquez la valeur de la couleur. Si ImageMagick est installé, vous pouvez le paramétrer ici.

(Personnellement, je n'ai pas trouvé ce dernier paramétrage indiqué par David Newkerk. NdT)

Paramétrer la Boîte à outils Image (Image Toolkit)

Allez dans Administrer > Configuration du site > Boîte à outils Image. Vous y remarquerez de suite qu'il y a un autre paramètre de qualité JPEG. Pourquoi ? Le paramètre indiqué dans ImageAPI s'occupera de pratiquement toutes les images du site, sauf à un endroit : l'aperçu s'affichant dans la page de Création ou Modification de contenu pour les images que vous uploaderez. Cela ne touchera probablement pas les visiteurs de votre site mais affectera l'aperçu de l'image que vous téléchargerez. Vous pouvez laisser ce paramètre tel quel, ou lui donner la valeur indiquée dans ImageAPI.

Créer des profils ImageCache

ImageCache est un module qui vous permet de créer un nombre illimité de versions d'une image, en lui appliquant différents traitements (modification de taille, recadrage, ou bien d'autres encore), sans toucher à l'image de départ. Dans cette étape vous créerez plusieurs profils d'image qui seront utilisés plus tard dans ce cours. Vous pouvez utiliser différents paramètres largeur/hauteur si vous le souhaitez, ou utiliser ceux de cet exemple. Et vous pouvez revenir en arrière n'importe quand et les modifier facilement (quand vous modifiez les profils, toutes vos images seront automatiquement affichées avec les nouveaux paramètres).

Créer un profil "Small"

  1. Allez dans Administrer > Construction du site > ImageCache et cliquez sur "Ajouter un nouveau profil"

  2. Le premier profil sera une petite image utilisée dans les "teasers" de vos contenus. Comme paramètre "Espace de Nommage du Profil :" indiquez small et cliquez sur le bouton "Créer un nouveau profil".

  3. Dans le groupe "Nouvelles actions", cliquez sur "Ajouter scale". C'est toujours ce type de redimmensionnement que vous devriez utiliser (à moins que vous n'ayez des raisons de faire autrement) puisqu'il conservera les proportions de votre image.

    Indiquez 150 pour les paramètres Largeur et Hauteur. Cela mettra à l'échelle toutes vos images dont la largeur ou la hauteur dépasse 150 pixels.

    Laissez tels quels les paramètres Poids et Autoriser l'Agrandissement. Cliquez sur le bouton "Ajouter une action" et vous verrez que l'action Echelle a été ajoutée à votre profil. Une image exemple est affiché en-dessous pour illustrer les modifications qui seront apportées aux images.

  4. Agrandissez le groupe "Nouvelles actions" pour afficher les autres options et cliquez sur "Ajouter Crop". Indiquez 150 pour la Largeur et 100 pour la Hauteur.

    Pour Positionnement en X et Positionnement en Y, tapez le mot center. L'action Crop agit comme un emporte-pièce : dans cet exemple, un emporte-pièce de 150 x 100 sera placé au centre d'une surface de 150 x 150 de côté.

    Une fois que que vous avez renseigné ces valeurs (laissez Poids tel quel), cliquez sur le bouton "Ajouter une action".

  5. Le profil "small" est maintenant complet et prêt à être utilisé ultérieurement dans ce guide. Une dernière chose à noter sont les poignées de drag-and-drop pour chaque action. L'ordre dans lequel ces actions apparaissent sera l'ordre de leur exécution sur l'image. Dans ce profil, l'image sera d'abord mise à l'échelle puis recadrée.

Créer un profil "medium"

  1. Vous allez maintenant créer un profil nommé medium qui sera affiché dans la page de contenu. Cette image sera plus grande que dans le profil small et ne sera pas recadrée.

  2. Cliquez sur le lien "ImageCache" dans le fil d'ariane, en haut de la page, pour revenir à la page principale de ImageCache. Comme vous l'avez fait pour le précédent profil, cliquez sur le bouton "Ajouter un nouveau profil" et donnez-lui le nom medium dans "Espace de Nommage du Profil".

  3. Cliquez sur "Ajouter Scale" et cette fois indiquez 250 comme Largeur et laissez vierge Hauteur. Cliquez sur le bouton "Ajouter une action"

    Cela réduira l'image originale de sorte qu'elle ne soit pas plus large que 250 pixels et sa hauteur sera affectée de sorte que les proportions de l'image demeurent fidèles à l'original.

Créer un profil "large"

Répétez encore une fois ces opérations pour créer un profil large. La seule différence avec les profils small et medium sera le nom et l'utilisation d'une largeur de 970. Cette image débordera des limites de la mise en page de votre site, dans une fenêtre connue sous le nom de "lightbox". Il est donc possible que sa largeur dépasse la largeur de mise en page de votre site. 970 est une assez bonne valeur puisqu'elle est proche du plein-écran sur une résolution d'écran de 1024 x 768. Augmenter cette valeur conduira à accroître les temps de chargement.

Créer un nouveau type de contenu avec CCK

Traduction de l'article de David Newkerk : Creating a custom Content Type with CCK


Maintenant que les préparatifs des sections précédentes sont terminés, cette partie du guide vous aidera à construire un "type de contenu" personnalisé, appelé Chronique, avec le module CCK ainsi que divers champs personnalisés.

Après la lecture de la section CCK de ce guide, vous aurez développé un savoir-faire avec CCK qui pourra être appliqué à votre propre site, en créant vos propres Types de Contenus personnalisés et n'importe quel type de champ dont pourraient avoir besoin vos Types de Contenus. Vous aurez également compris comment fonctionnent les Alias d'URL dans Drupal (également appelés Paths) et vous saurez faire des fils d'ariane personnalisés pour vos types de contenus.

Configurer le Type de contenu

Traduction de l'article de David Newkerk : Set up the Content Type


Commençons par aller dans Administrer > Gestion du contenu > Types de contenus et cliquons sur "Ajouter" en haut de la page.

  1. Pour Nom, indiquez : Chronique
  2. Pour Type, indiquez : chronique
  3. Si vous en voulez une, renseignez Description, pour votre propre référence.
  4. Cliquez pour développer "Procédures de publication" et décochez l'option Promu en page d'accueil.
  5. Cliquez sur le bouton "Enregistrer le type de contenu"

Ajouter des champs personnalisés

Les champs personnalisés comprendront un chronique_teaser_text pour servir de teaser personnalisé qui ne sera affiché que dans le contexte des vues des teasers de contenu mais pas dans la vue complète de la chronique, et un chronique_subtitle qui est un sous-titre sur la chronique qui sera seulement affiché lors de la version complète de la page mais pas dans le teaser. Vous pouvez bien entendu ajouter autant de champs supplémentaires que vous le souhaitez.

Ajouter le champ : chronique_teaser_text

  1. Dans la page principale des Types de contenus (Administrer > Gestion du contenu > Types de contenus), cliquez sur le lien "Gérer les champs" de votre type de contenu Chronique.

  2. Pour le Nom du champ, indiquez : chronique_teaser_text et pour l'Etiquette, indiquez Chronique Teaser.

  3. Pour le Type de donnée à stocker, choisissez Texte et comme Élément du formulaire pour l'édition des données, choisissez "Champ texte".

    Remarque : si vous préférez un champ multi-lignes avec la possibilité d'ajouter un formatage HTML au texte avec votre éditeur WYSIWYG (par exemple FCKEditor ou TinyMCE), vous pouvez choisir "Zone de texte (plusieurs lignes)". Ayez à l'esprit qu'avec la plupart des éditeurs WYSIWYG, paramétrer un champ en "multi-lignes" active l'éditeur pour ce champ, ce qui peut se révéler excessif à l'usage (bien que les paramétrages des éditeurs vous permettent de désactiver sélectivement ce comportement). En général, pour des petits champs textes de ce type, je ne conseille pas HTML, et encore moins l'édition WYSIWYG. Si vous changez d'avis, vous pouvez toujours ajuster ce paramètre ultérieurement.

  4. Cliquez sur "Enregistrer" et vous passez à la page de configuration pour le champ ajouté.

  5. Dans "Paramètres globaux", cochez l'option obligatoire et indiquez un nombre pour "Taille maximale", disons 100 (il est recommandé d'indiquer un nombre maximum de caractères pour le résumé, pour être sûr qu'il tiendra dans la zone allouée aux teasers dans votre thème, et pour garantir brièveté et concision au lecteur). A noter que cette taille maximum du champ ne s'applique qu'aux champs texte - l'option HTML de "Zone de texte (plusieurs lignes)" fait qu'il n'y a plus de limitation possible de la taille du champ (c'est une caractéristique de HTML, pas de Drupal. Vous pouvez néanmoins imposer une longueur maximum en utilisant JavaScript).

  6. Si vous voulez pouvoir utiliser du formatage HTML dans votre teaser (avec ou sans éditeur WYSIWYG installé), paramétrez Traitement du texte : à Texte filtré (l'utilisateur choisit le format d'entrée).

    (A nouveau : ce n'est pas recommandé puisque le HTML outrepasse les limites de taille, il faut dire aussi que le but d'un teaser étant d'être bref il vaut mieux le garder le plus dépouillé possible... Réservons les possibilités de décoration du HTML au texte de la chronique elle-même).

  7. Pour finir, cliquez sur le bouton "Enregistrer les paramètres du champ".

Ajouter le champ : chronique_subtitle

Une fois la création du champ chronique_teaser_text validée, vous revenez à la page d'Ajout des champs pour le type de contenu chronique

  1. Pour l'Etiquette du paramètre Nouveau champ, indiquez Chronique Subtitle et pour le paramètre Nom du champ, indiquez chronique_subtitle.

  2. Pour le Type de données à stocker, sélectionnez Texte, et sélectionnez Champ texte comme Élément de formulaire.

  3. Cliquez sur "Enregistrer" et vous passez à la page de configuration du champ ajouté.

  4. Si vous voulez qu'un sous-titre soit toujours renseigné, cochez la case obligatoire de la zone Paramètres globaux.

  5. Pour les paramètres Taille du champ texte et Traitement du texte, suivez les directives indiquées pour le champ précédent puis cliquez sur "Enregistrez les paramètres du champ"

  6. Enfin, sur la page "Gérer les champs", les deux champs ajoutés peuvent ne pas être dans le bon ordre. A l'aide des poignées fléchées, mettez-les dans l'ordre qui vous convient et cliquez sur le bouton "Enregistrer".

    Remarque : l'ordre indiqué ici n'est valable que pour l'ordre d'apparition des champs lors de la saisie d'un nouveau contenu. L'ordre ou la disposition de ces champs à l'affichage de la page pour l'internaute peut être totalement différent et facilement contrôlé par le thème, ce que nous verrons un peu plus tard.

Paramétrer l'affichage des champs (en mode pleine page)

  1. Cliquez sur le lien "Afficher les champs" en haut de la page (soit l'URL admin/content/node-type/chronique/display )

  2. Pour Chronique Subtitle, mettez Étiquette à hidden, Résumé à hidden et laissez N½ud complet à Par défaut.

  3. Pour Chronique teaser, mettez toutes les options à hidden (la raison est que ce champ ne sera utilisé qu'avec Views et qu'il doit être caché dans tous les autres cas).

  4. Cliquez sur le bouton "Enregistrer".

Configurer Pathauto et Custom Breadcrumbs

Traduction de l'article de David Newkerk : Configure Pathauto and Custom Breadcrumbs


Comprendre les paths Drupal

Avant de poursuivre, il sera utile de comprendre comment les chemins d'URL fonctionnent dans Drupal, et comment cela s'applique à ce que vous êtes en train de faire en suivant ce guide. Dans Drupal, les termes URL, path, et alias sont souvent utilisés les uns pour les autres.

Notre objectif dans ce guide est de paramétrer les chemins d'URL comme suit :

example.com/chroniques

Ce sera l'index/listing de toutes les chroniques, et sera traité par le module Views, plus loin dans ce guide.

example.com/chroniques/nom-de-la-chronique

C'est le chemin pour les pages (nodes) créées pour le Type de Contenu "Chronique". Les nodes reçoivent leurs URL via les modules Path ou Pathauto. Path est un module livré avec Drupal qui vous permet de définir manuellement les URLs pour les pages lors de leurs créations, tandis que Pathauto est un module additionnel qui automatise cette opération en suivant des règles établies à l'avance, avant la création des contenus. Le module Pathauto sera utilisé dans ce cours.

Bien qu'ils semblent "liés" (comme le seraient des fichiers situés dans un dossier), le chemin example.com/chroniques fait par le module Views et le chemin example.com/chroniques/nom-de-la-chronique pour le contenu ne sont en fait pas intérieurement liés l'un à l'autre (cependant, tant qu'ils seront bien configurés, ils "apparaîtront" et fonctionneront comme s'ils étaient liés l'un à l'autre)

Gardez à l'esprit cette analogie des fichiers dans un dossier. Les fichiers sont les content/nodes Chroniques que vous créez, et les dossiers sont l'index ou le listing des ces Chroniques (/chroniques), qui est créé à part par le module Views. Ce n'est évidemment pas ainsi que cela fonctionne "sous le capot" (des fichiers et des dossiers) mais cela devrait vous aider dans la compréhension de la structure des chemins d'URL.

Personnaliser vos Paths avec Pathauto

Après que vous ayez créé votre Type de Contenu (et avant même de créer un contenu quel qu'il soit), la première station à laquelle vous vous arrêterez sera Pathauto. Dans Drupal 6, les paramètres de Pathauto ont été regroupés dans la page d'administrations des Alias d'URL, située à Administrer > Construction du site > Alias d'url > Réglage des alias automatiques. Dans Drupal 5, les paramètres de Pathauto peuvent être trouvés à Administrer > Configuration du site > Pathauto.

Si vous vous demandez pourquoi il est préférable de paramétrer Pathauto avant de créer les contenus, c'est parce que la création de contenus ajoute des alias d'URL à Drupal - si vous ne les avez pas personnalisés, Drupal (ou Pathauto s'il est installé) utiliseront les paramètres par défaut (par exemple, Drupal fera un node/n° et si Pathauto est installé, il fera un content/page-title à la place). Une fois que l'alias a été créé, il devra être effacé pour être reconstruit selon votre modèle.

Remarque : dans le cas où vous auriez des alias d'URL créés avant l'installation de Pathauto, ou avant que vous ayez pris connaissance de ce qui précède, il est facile de supprimer les anciens alias pour générer automatiquement les nouveaux qui seront personnalisés. Si vous n'avez pas d'alias personnalisés (que vous auriez écrit à la main), vous pouvez simplement cliquer sur le bouton "Supprimer les alias maintenant !" qui se trouve à la page admin/build/path/delete_bulk. Vous aurez au préalable coché la case contenu si vous voulez effacer tous les alias existants des contenus. Ne vous inquiétez pas, dans la prochaine étape, avec Pathauto, vous regénérerez des alias conformes à vos paramètres pour chaque page, d'un seul clic. Si vous avez des alias personnalisés « à la main » et que ne pouvez pas les effacer tous ainsi, songez à laisser toute la gestion de vos alias à Pathauto, ce qui vous facilitera la tâche - sinon vous pouvez supprimer les alias un par un sur la page admin/build/path.

Paramétrer le path d'URL pour les pages Chroniques

  1. Rendez-vous dans Administration > Construction du site > Alias d'url > Réglage des alias automatiques (admin/build/path/pathauto) (peut aussi être dénommé Paramétrer Pathauto, selon la traduction installée).

  2. En premier lieu, déroulez la zone « Paramètres généraux » et rendez-vous dans le champ « Chaînes de caractères à supprimer ». Les mots contenus dans ce champ seront supprimés lors de la création des URL par Pathauto. Ajoutez ou enlevez les mots qui vous intéressent, ou si vous préférez, effacez simplement la totalité de la liste (ce que je conseille car je préfère des chemins parlants pour les gens qui les lisent, et enlever des mots les rendent moins lisibles ou mémorisables).

  3. Ensuite, déroulez la zone « Réglage des alias de nœuds » où se trouvent les paramètres de path de tous les types de contenus (en plus de blog, qui est un cas à part)

    Localisez Modèle d'alias pour le type de contenu Chronique : et indiquez chroniques/[title-raw].

    Remarque: c'est ici qu'entre en jeu ce qui a été expliqué dans la section précédente « Comprendre les paths Drupal », la partie chronique/ du path est juste un placeholder pour la View, faisant que la chronique apparaîtra et fonctionnera comme si nous étions dans la page chronique/ liste ("dossier"). De cette façon, les chemins se comporteront également comme un visiteur du site s'y attendrait (comme des fichiers à l'intérieur d'un dossier), enlever la fin du path chroniques le fera arriver à l'index ou listing de toutes les chroniques.

  4. Vous pouvez aussi indiquer les paramètres de Modèle de chemin par défaut et des autres types de contenus si vous le souhaitez. Déroulez "Modèles de remplacement" pour voir tous les Tokens disponibles.

  5. Cochez la case Générer des alias pour les nœuds qui n'en sont pas encore doté

  6. Descendez en bas de la page et cliquez sur le bouton "Enregistrer la configuration". S'il y a des alias à générer pour du contenu existant, un message en haut de l'écran vous en informera.

Bien que les modules Path et Pathauto créent des alias pour le contenu de votre site, les chemins d'origine comme node/2 continuent à exister (un alias est juste un "masque" qui couvre l'URL originale et la présente sous une forme plus avenante. Si vous êtes passibles de pénalités de la part des moteurs de recherche à cause de contenus dupliqués - par exemple deux URL différentes qui pointent vers le même contenu - vous devriez installer le module Global redirect, il s'assure que toute URL qui mène à un contenu provient des URLs de Pathauto ).

Paramétrer des fils d'Ariane personnalisés

Un fil d'Ariane améliore facilement la navigation d'un site web . Le fil d'Ariane vous permet de vous localiser dans le site et de revenir sur la page d'accueil. Vous pouvez en voir un exemple sur ce site, en haut de la page.

Si votre thème contient un fil d'ariane (à l'instar de beaucoup de sites - si non, ajoutez ceci à votre fichier page.tpl.php), le contenu Chronique que vous créerez affichera toujours des fils d'Ariane. Cependant, par défaut, ils afficheront seulement "Accueil" (ce qui n'est pas très utile). Le module Custom Breadcrumbs vous permettra de les personnaliser et un lien vers la page listing "Chroniques" sera ajoutée : "Accueil -> Chroniques" (dans les deux cas, le Nom de la chronique sera affiché sous l'entête ou le titre de page). Les fils d'Ariane ne sont pas limités à un seul niveau (si besoin, vous pouvez utiliser autant de niveaux que vous le souhaitez).

  1. Allez dans Administration > Construction du site > Custom Breadcrumbs > Add a new custom breadcrumb (admin/build/custom_breadcrumbs/add).

  2. Sélectionnez Chronique dans la liste déroulante Type de nœud.

  3. Comme dans de nombreuses pages de paramètres de la section administration de Drupal, si vous avez installé un éditeur WYSIWYG et selon son paramétrage, il pourrait être gênant s'il est chargé dans la page de configuration de Custom Breadcrumbs. Si votre éditeur WYSIWYG s'affiche dans cette page, désactivez-le avant de poursuivre.

  4. Dans le champ Title, indiquez Chronique et dans le champ Pathindiquez chroniques (le modèle indiqué dans le paramétrage de Pathauto). Laissez vide le champ Breadcrumb visibility. Cliquez sur le bouton "Submit".

Créer une Chronique

Traduction de l'article de David Newkerk : Create an Article


Maintenant que le Type de Contenu est achevé, vous allez créer une ou plusieurs pages de contenu Chronique qui serviront de test pour la suite de ce guide (ce pourront être des pages quelconques ou de test pour l'instant). Allez dans Administrer > Création de contenu > Chronique, renseignez les champs et cliquez sur "Enregistrer".

Après avoir sauvegardé la chronique, vous constaterez :

  1. Ainsi que nous l'avions paramétré dans Paramétrer l'affichage des champs (en mode pleine page), le champ Chronique Teaser ne s'affiche pas dans la page, alors que le champ Chronique sous-titre oui.

  2. L'URL de la chronique est exemple.com/chroniques/nom-de-la-chronique, comme paramétré dans Pathauto
  3. Le fil d'Ariane personnalisé est affiché presque en haut de la page : "Accueil > Chronique" (et le nom de la chronique est affiché en titre de page). Pour l'instant, le lien "Chronique" du fil d'ariane ne marche pas - il fonctionnera après que nous ayons terminé la prochaine section du guide, Utiliser le module Views pour créer un listing de Chroniques.

Ultérieurement, vous apprendrez comment habiller les pages Chroniques pour qu'elles ressemblent exactement à ce que vous voulez.

Utiliser le module Views pour créer un listing de "Chroniques"

Traduction de l'article de David Newkerk : Using Views to create a listing of Articles


Dans cette deuxième partie du guide, nous vous présenterons la puissance du module Views.

Vous créerez une vue Chroniques, qui servira à afficher un listing de toutes les contenus Chroniques que vous aurez créé (la page /chroniques de la précédente section), et aussi un autre listing sous forme de bloc qui pourra être affiché dans l'une des colonnes latérales de votre site, dans votre page d'accueil ou n'importe où ailleurs.

Une fois la lecture de cette partie du guide achevée, vous en saurez plus sur Views 2 de Drupal 6 et pourrez appliquer ces connaissances à d'autres vues personnalisées pour votre site. Après avoir appris à utiliser CCK et Views, vous n'aborderez plus la création de sites de la même façon.

Créer un listing de "Chroniques" avec Views

Traduction de l'article de David Newkerk : Using Views to create a listing of Articles


L'étape qui vient consistera à créer une nouvelle vue avec le module Views pour générer une liste des dernières chroniques, en utilisant les champs qui ont été paramétrés pour le type de contenu Chroniques. Views peut aussi exporter/importer des vues, mais en suivant toutes les étapes ci-dessous, vous apprendrez comment travaille Views et vous serez donc capable de travailler avec et créer vos propres vues personnalisées.

Paramétrage initial de votre vue Chroniques

  1. Allez dans Administrer > Construction du site > Views (admin/build/views) et cliquez sur "Ajouter" en haut de la page.

  2. Pour Nom de la vue, indiquez chroniques. Ajoutez éventuellement une courte Description de la vue qui vous servira d'aide-mémoire sur l'objet de la vue, ainsi qu'une Étiquette de la vue pour vous aider à retrouver la vue plus tard. Laissez Type de vue sur Node. Cliquez sur "Suivant" pour poursuivre.

Configurer les paramètres par défaut

Views 2 offre désormais la possibilité de créer plusieurs "Affichages" (page, bloc, flux, fichier attaché) pour la même vue, chacun d'eux présentant la même vue de différentes façons.

La première chose à faire lorsque vous créez une nouvelle vue est de configurer les Paramètres par défaut. Ces paramètres par défaut s'appliqueront à tous les affichages personnalisés que vous créerez par la suite. Cependant, chacun des paramètres configurés pour ces paramètres par défaut peut être remplacé par les paramètres propres à chaque affichage. Cela vous fait gagner du temps en configurant le ou les paramètres communs à chaque affichage.

Configuration des « paramètres par défaut » de la vue : paramètres de base

  1. Dans la première colonne, dans le bloc Paramètres de base, cliquez sur Aucun du champ Titre. Dans le champ Paramètres par défaut: Titre de cette vue, indiquez Chroniques puis cliquez sur le bouton Mise à jour.

  2. Toujours dans le bloc Paramètres de base, pour le champ Utiliser la pagination, cliquez sur Non puis cochez le bouton radio Pagination complète et cliquez sur le bouton Mise à jour.

Configuration des « paramètres par défaut » de la vue : les champs

  1. Ensuite, dans la deuxième colonne, dans le bloc Champs, cliquez sur le bouton + pour ajouter des champs à votre vue.

    Faites défiler la liste et cochez les champs suivants :

    1. Contenu : Chronique teaser (field_chronique_teaser)
    2. Node : Date de publication
    3. Node : Titre
    4. Remarque : n'ajoutez que ces champs-là. Vous remarquerez qu'il y a un champ Node : Résumé mais il ne nous servira pas dans cette vue (le champ "résumé" dont nous avons besoin est Chronique teaser ). N'ajoutez pas non plus d'autres champs parmi ceux créés auparavant (field_chronique_subtitle) car ils ne nous serviront pas dans cette vue.
  2. Cliquez sur le bouton Ajouter. Vous obtiendrez une succession d'écrans de configuration vous permettant de personnaliser les paramètres de chacun des champs ajoutés. Après avoir paramétré un champ, cliquez sur le bouton Mise à jour pour passer au paramétrage du champ suivant.
    1. Pour Chronique teaser (field_chronique_teaser), dans la rubrique Étiquette, cochez sur Aucun
    2. Pour Node : Date de publication , effacez le libellé de Étiquette puis modifiez éventuellement le Format de date. Si vous voulez par exemple qu'elle soit affichée ainsi : 14 Juillet 2009 (sans indication de l'heure), choisissez Personnalisé dans la liste déroulante et tapez j F Y dans le champ Format de date personnalisé : qui s'affiche.
    3. Pour Node : Titre, effacez le texte du champ Étiquette et cochez la case Lier ce champ à son nœud
  3. A nouveau dans la zone Champs cliquez sur le bouton avec les flèches haut/bas. Il vous permettra de modifier l'ordre d'affichage des champs par glisser-déposer, mettez le titre en début de liste, puis la date de publication et enfin le teaser, et cliquez sur le bouton "Mise à jour".

Configuration des « paramètres par défaut » de la vue : les critères de tri

  1. Dans la troisième colonne, dans Critères de tri, cliquez sur le bouton +.
  2. Faites défiler la liste qui s'affiche (Paramètres par défaut: Ajouter critères de tri), cochez Node : Date de publication puis cliquez sur "Ajouter".
  3. Dans l'écran qui s'affiche ensuite, cochez le bouton-radio Descendant de Ordre de tri et cliquez sur le bouton "Mise à jour".

Configuration des « paramètres par défaut » de la vue : les filtres

  1. Dans la troisième colonne, dans le bloc Filtres, cliquez sur le bouton +. Faites défiler la liste qui s'affiche et cochez :
    1. Node : Publié
    2. Node : Type
  2. Cliquez sur le bouton "Ajouter" et personnalisez les paramètres pour chaque champ. Après avoir paramétré un champ, cliquez sur le bouton Mise à jour pour passer au paramétrage du champ suivant:
    1. Pour Node : Publié; cochez Publié : oui (ainsi seul le contenu marqué comme Publié sera affiché)
    2. Pour Node - Type, cochez Chronique comme Type de nœud.

Création de l'affichage "Page"

Vous allez créer deux affichages personnalisés, un affichage "Page" qui affichera le listing complet des chroniques, et un affichage "Bloc" qui sera un mini-listing des teasers des chroniques placé sur l'une des colonnes latérales du site (ou sur la page d'accueil). Commençons par l'affichage "Page" :

  1. Dans le tout premier bloc, celui qui affiche une liste déroulante avec "Page" et un bouton "Nouvel affichage" en dessous, cliquez sur le bouton "Nouvel affichage" en ayant "Page" sélectionné dans la liste déroulante. Un nouvel onglet intitulé "Page" s'affichera en dessous de l'affichage Paramètres par défaut.

Configuration de la vue "Page" : paramètres de base

  1. Puisque vous pouvez avoir autant d'affichages différents que vous le souhaitez, une bonne habitude consiste à leur donner un nom personnalisé, afin de faciliter leur gestion (ces noms ne sont pas publics et ne servent que pour vos besoins propres).

    Commencez par cliquer sur le lien Page en regard de Nom dans la colonne Paramètres de base. Modifiez le nom de Page en Chroniques puis cliquez sur "Mise à jour" et sur "Enregistrer". le nom de votre affichage est maintenant Chroniques (l'affichage Page a donc été remplacé par Chroniques). Cliquez sur ce Chroniques pour activer à nouveau l'onglet.

Configuration de la vue "Page" : paramètres de page

  1. Dans la première colonne, dans le bloc Paramètres de la page, cliquez sur Aucun en face de Chemin et indiquez l'URL que vous voulez donnez au listing des chroniques (par exemple, indiquez chroniques si vous voulez que l'URL soit exemple.com/chroniques). Cliquez sur le bouton "Mise à jour"

  2. Bonus (facultatif):

    Si vous voulez ajouter la page Chroniques au menu de votre site, cliquez sur le lien Pas de menu en face de Menu (juste sous le lien précédent), cochez le bouton-radio Entrée de menu normale puis renseignez les rubriques qui s'affichent. Dans la rubrique Menu : vous pouvez choisir ici dans quel menu s'affichera l'élément que vous êtes en train de créer.

    Vous pourrez aussi modifier plus tard le menu parent de la vue en allant dans Administrer > Construction du site > Menus .

    Cliquez sur le bouton "Mise à jour" une fois fait.

Créer l'affichage "Bloc"

Vous allez maintenant créer le deuxième affichage qui sera de type "Bloc", qui affichera un mini-listing des résumés des chroniques et qui sera placé dans l'une des colonnes latérales du site (ou sur votre page d'accueil)e.

  1. Dans le tout premier bloc, celui qui affiche une liste déroulante avec "Page" et un bouton "Nouvel affichage" en dessous, cliquez sur le bouton "Nouvel affichage" après avoir sélectionné "Bloc" dans la liste déroulante. Un nouvel onglet intitulé "Bloc" s'affichera en dessous de l'affichage Chroniques.

Configuration de la vue "Bloc" : paramètres de base

  1. Une fois encore, il est conseillé de donner un nom à ce nouvel affichage. Cliquez sur le lien Bloc en regard de Nom dans la colonne Paramètres de base. Modifiez le nom de Bloc en Bloc chroniques puis cliquez sur "Mise à jour" et sur "Enregistrer".

    Le nom de votre affichage est maintenant Bloc chroniques (le nom de l'affichage Bloc a donc été remplacé par Bloc chroniques). Cliquez sur ce Bloc chroniques pour activer à nouveau l'onglet.

  2. Dans le bloc Paramètres de base, cliquez sur le lien Non de la rubrique Lien "plus" puis cliquez sur le bouton "Supplanter" ce qui fait que ce réglage s'appliquera à cet affichage seulement et pas aux autres (si vous voulez surcharger un paramétrage, cliquez toujours sur le bouton "Supplanter" avant même de modifier le paramétrage).

    Cochez la case Créer un lien "plus" et cliquez sur le bouton "Mise à jour".

    Remarque : nous venons de voir une "surcharge" en action; Vous pouvez utiliser cette fonctionnalité pour plein de choses dans une vue, y compris pour ajouter des champs spécifiques, des filtres et des arguments à un seul affichage d'une vue, et des choses totalement différentes à d'autres affichages, qui reposeront cependant sur la même structure sous-jacente.

Votre vue est maintenant terminée

La vue et ses affichages sont maintenant terminés. Vous pouvez cependant revenir dessus et la modifier à tout moment.

Assurez-vous d'avoir cliqué sur le bouton Enregistrer de la vue (le message La vue a été enregistrée doit être affiché en haut de l'interface de Views).

Rendez-vous à l'URL http://www.exemple.com/chroniques pour voir l'affichage Page : Chroniques que vous venez de créer.

Quand vous serez prêts, passez à la section suivante du guide où vous activerez le bloc chroniques dans l'une des colonnes latérales de votre site.

Activer le bloc "Chroniques"

Traduction de l'article de David Newkerk : Enable the new "Articles" block


Vous venez de créer un bloc pour l'affichage des chroniques et, du fait même de cette création, il devient automatiquement disponible pour Drupal dans la page Administrer > Construction du site > Blocs.

  1. Allez dans Administrer > Construction du site > Blocs et dans le groupe des blocs désactivés, localisez chroniques: Bloc chroniques (les blocs sont par défaut désactivés, jusqu'à ce que vous les activiez)
  2. Choisissez une région pour son affichage, dans la liste déroulante située à droite du nom du bloc (par exemple, Barre de droite). Le bloc sera immédiatement déplacé de la zone Désactivé à la zone Barre de droite, vous pouvez le glisser-déposer pour ajuster son emplacement par rapport aux autres blocs via la croix aux quatre flèches.
  3. Faites défiler la page jusqu'en bas et cliquez sur le bouton "Enregistrez les blocs". Le bloc créé dans Views s'affichera maintenant dans la région choisie.

Autres infos à ajouter...

  • Vous n'êtes pas limité aux seuls blocs qui sont prédéfinis pour votre thème
  • Mentionner brièvement la possibilité d'ajouter des blocs à la page d'accueil (et lien sur un article expliquant comment faire une page d'accueil)

Habiller les Vues et les Types de Contenus

Traduction de l'article de David Newkerk : Theming Content Types and Views


A ce stade la plupart des "fonctionnalités" sous-jacentes de votre type de contenu Chronique et de la vue qui affichera le listing et résumé des Chroniques est maintenant achevée. Cependant, les choses ne ressemblent peut-être pas à ce que vous souhaitez. C'est là qu'entre en jeu le theming, l'habillage, la mise en forme (etc).

Vous allez d'abord apprendre à personnaliser le thème des pages Chroniques (les nodes) puis à habiller les affichages Page et Bloc du module Views. Vous maîtriserez le code HTML et les CSS de chaque champ de donnée, pour les personnaliser comme vous l'entendrez.

Habiller la page "Chronique" (node)

Traduction de l'article de David Newkerk : Theming the full Article pages (nodes)


Bien que le fichier page.tpl.php de votre thème soit le gabarit de « plus haut niveau » qui assure la mise en page globale de tout votre site et reste cohérent, par défaut, pour toutes ses pages, il existe plusieurs fichiers gabarits spécifiques (templates) qui s'occupent chacun de la mise en page de sous-ensembles qui se trouvent « à l'intérieur » de page.tpl.php, ces sous-ensembles étant les différents contenus qui apparaissent sur chaque page du site. Pour ce qui est du sous-ensemble contenus, le fichier gabarit chargé de leur mise en page des contenus s'appelle node.tpl.php.

Créer un fichier node.tpl.php pour le contenu Chronique

Ce guide utilise le thème Garland à titre de démonstration, mais vous pouvez tout à fait utiliser votre propre thème si vous le préférez.

Une des forces du système de thèmes de Drupal est de pouvoir créer des versions de gabarits différentes qui ne s'appliqueront qu'à un Type de Contenu et pas à d'autres. Puisque le but de ce guide est d'habiller les pages "Chronique" différemment des autres pages du site, cette caractéristique est assurément une fonctionnalité utile.

  1. Pour réaliser cela, rendez-vous dans le dossier de votre thème... Dans cet exemple il s'agit du dossier themes/Garland (si vous utilisez votre propre thème, il se trouvera sans doute dans sites/all/themes/votre-theme)

  2. Trouvez le fichier node.tpl.php, copiez-le et renommez-le en node-chronique.tpl.php.

    Remarque : en procédant ainsi,vous pouvez réaliser un gabarit de mise en page personnalisé pour chaque Type de Contenu que vous aurez créé. Copiez simplement le fichier node.tpl.php et renommez-le en ajoutant dans le nom de fichier le -nom_du_type_de_contenu après le mot node. Pour les Types de contenus dont le nom est composé de plusieurs mots, séparez chaque mot par un underscore _ .

  3. Tapez un petit bout de texte n'importe où dans votre nouveau gabarit personnalisé, sauvegardez le fichier et visitez la page Chronique - Drupal détecte immédiatement le nouveau gabarit et l'utilise pour le contenu Chronique en lieu et place du gabarit par défaut (vous devriez voir s'afficher votre petit bout de texte).

    Si votre petit bout de texte ne s'affiche pas bien que vous ayez fidèlement suivi les étapes précédentes, essayez d'aller dans Administrer > Configuration du site > Performance (admin/settings/performance) et cliquez sur le bouton "Supprimer les données du cache" pour vider le registre de thèmes.

Personnaliser la mise en page de node-chronique.tpl.php

Voici une copie d'écran avant/après la personnalisation pour illustrer à quoi ressemblait la page Chronique et à quoi elle ressemble une fois sa mise en page effectuée.

[insert screenshot image]

Eh non ! Il n'y a pas d'image dans l'article de David Newkerk !

Ouvrez le fichier node-chronique.tpl.php que vous venez de créer et localisez <?php print $content ?> dans le code. C'est cette variable qui afficher presque tous les champs de contenu dans la page (l'exception étant le Titre du node qui est habituellement affiché par le gabarit de mise en page page.tpl.php).

<?php print $content ?> affiche la combinaison du champ Body du node et de tous vos champs CCK ajoutés.

Puisque notre but consiste à obtenir plus de souplesse dans l'affichage HTML des champs CCK du type de contenu Chronique, nous devons « éclater » la variable $content pour obtenir chacun des champs qui la compose, au lieu d'avoir une variable globale sur laquelle on ne peut pas agir.

Si vous le souhaitez, le module Contemplate sera un outil pratique pour regarder « l'intérieur » de la variable $content et prélever le code des champs que vous voudrez copier-coller dans votre fichier gabarit de mise en page. Pour utiliser Contemplate, reportez-vous au guide Contemplate (guide en anglais).

Cependant, l'utilisation de Contemplate n'est pas toujours nécessaire (et elle est de plus assez pesante). Copiez simplement les bouts de code qui suivent et vous pourrez ainsi, dans la plupart des cas, les utiliser dans d'autres gabarits de Type de contenus en changeant uniquement leur nom. Bien entendu, il n'est pas gênant de disposer de Contemplate pour les cas où certains types de champs utiliseraient un code différent de celui qui suit.

Ajouter des champs individuellement dans node-chronique.tpl.php

On utilisera plusieurs bouts de code pour remplacer la variable $content. Ils produiront pratiquemment le même affichage avec en plus la possibilité de pouvoir contrôler directement l'apparence de chaque champ.

  1. Commencez par copier-coller la ligne suivante dans votre fichier node-chronique.tpl.php, en remplacement de la ligne . La nouvelle ligne affichera seulement le champ Body (vous remarquerez que le code pour afficher le champ Body est légèrement différent de celui pour afficher les champs CCK)

    <?php
    print $node->content['body']['#value'
    ?>

    Attention : bien que ['#value'] soit utilisé ici, il ne doit jamais l'être avec d'autres champs, à moins que vous ne sachiez sécuriser cet usage (par exemple, en utilisant la fonction check_plain(). Les autres champs doivent toujours utiliser ['view']

  2. Ajoutez ensuite le champ Sous-titre Chronique (field_chronique_subtitle), juste au-dessus de la ligne (vous remarquerez qu'une balise div encadre le champ field_chronique_subtitle, cela facilitera plus tard sa personnalisation avec des CSS) :

    <div id="article-subtitle">
      <?php print $node->field_article_subtitle[0]['view'] ?>
    </div>
  3. Vous pouvez ajouter d'autres champs CCK de la même façon qu'à l'étape 2. Copiez-collez simplement le code précédent en changeant le nom du champ (vous utiliserez toujours le nom-machine du champ, vous pouvez le retrouver en allant dans Administrer > Gestion du contenu > Types de contenus et en cliquant sur le lien Gérer les champs de la ligne Chronique (deux autres chemins directs pour y accéder : admin/content/types/fields, cela affiche tous les champs. Et admin/content/node-type/chronique/fields, cela n'affiche que les champs du type Chronique). Les noms des champs sont indiqués dans la colonne Nom ou Nom du champ, selon le mode d'accès que vous aurez choisi.

    Lorsque vous créez un champ, le préfixe field_ est automatiquement ajouté au nom que vous lui donnez. N'utilisez pas le nom figurant dans la colonne "Étiquette"

    Par exemple, si dans votre type de contenu vous avez un champ appelé field_drupal_rules, vous changerez field_chronique_subtitle en field_drupal_rules. C'est souvent suffisant mais il y aura des cas où vous aurez sans doute besoin de Contemplate pour trouver le code (ou de Devel le cas échéant, si vous le préférez). Veillez à doter chaque champ d'un ID CSS unique, ou d'une classe CSS, placés dans une balise div ou span, puisque cela vous facilitera ensuite leur personnalisation.

    Champs à valeurs multiples

    Si vous devez ajouter un champ CCK qui a des valeurs multiples, vous pouvez utiliser le bout de code suivant, en modifiant juste le nom du champ (n'hésitez pas à personnaliser ou à enlever la balise div) :

    <?php foreach ((array)$field_drupal_rules as $item) { ?>
      <div class="field-item"><?php print $item['view'] ?></div>
    <?php } ?>

    Ajouter l'étiquette d'un champ

    Lorsque vous disposez manuellement un champ CCK dans votre gabarit, son étiquette n'est pas affichée par défaut (il n'y a que le contenu du champ lui-même qui est affiché). Voici un exemple pour afficher l'étiquette :

    <?php print $node->content['field_drupal_rules']['field']['#title'] ?>

Personnaliser "Soumis par..."

Dans votre fichier node-chronique.tpl.php, la ligne contient produit l'affichage de "Soumis par...". Par défaut, ce texte ressemble à quelque chose comme :

Soumis par kolossaldrupal le mar, 14/07/2009 - 14:00

(le format de la date dépend des paramètres de admin/settings/date-time)

Si vous souhaitez seulement enlever l'heure de cette ligne, allez jeter un œil à cet excellent article qui concerne aussi bien Drupal 5 que Drupal 6 : No time of day in node date (descendez jusqu'à la ligne To modify the medium-size format for dates… qui se trouve avant la première copie d'écran). Dans Drupal 6 vous pouvez allez dans Administrer > Configuration du site > Date et heure (admin/settings/date-time), alors qu'avec Drupal 5 vous aurez besoin de copier-coller du code dans votre thème.

Si vous voulez une personnalisation plus poussée de $submitted, vous devrez placer un peu de code. Si vous voulez que $submitted ressemble plutôt à ceci : Publié le 14 Juillet 2009 par Username, remplacez avec le code suivant :

<?php
<span class="submitted"><?php print t('Publié le ') . format_date($node->created'custom'"jS F Y") . t(' par ') . theme('username'$node); ?></span>
?>

Avec des connaissances élémentaires sur la concaténation de chaînes en PHP (c'est plus compliqué à lire qu'à faire) vous pourrez réorganiser le code et les termes pour arriver à vos fins. La clé de tout cela réside dans le point ( . ) qui s'intercale entre chaque partie du code.

La méthode précédente marche aussi dans Drupal 6 mais vous pouvez aboutir au même résultat pour chacun de vos types de contenus, en une seule étape et pour tout le site, en collant le code suivant dans le fichier template.php de votre thème (ou en modifiant la fonction si elle existe déjà dans votre thème - Garland en a une - car il ne peut pas y avoir deux fois la même fonction) :

<?php
function phptemplate_node_submitted($node) {
  return 
t('Soumis par !username le @datetime',
    array(
      
'!username' => theme('username'$node),
      
'@datetime' => format_date($node->created),
    ));
}
?>

Dans la ligne return t('Soumis par !username le @datetime', réorganisez !username et @datetime comme vous le souhaitez. Vous pouvez aussi personnaliser le format de la date en substituant $node->created, 'custom', "jS F Y" à $node->created (vous pouvez indiquer n'importe quel autre format de date PHP.

Si vous voulez enlever complètement la ligne $submitted (dans le cas où vous n'en voudriez pas dans toute la page), vous pouvez soit effacer la ligne $submitted du fichier node-chronique.tpl.php, soit la désactiver pour le type de contenu Chronique dans admin/build/themes/settings, rubrique Afficher l'auteur et la date de la contribution pour les types.

Habiller Views

Traduction du commentaire de David Newkerk : Views2 Theming


(Traduction librement adaptée)

Vous pouvez regarder si dans les différents gabarits proposés par Views il n'y en a pas un qui correspondrait à vos besoins. Allez dans Views (Administrer > Construction du site > Views ou admin/build/views/list), choisissez votre vue et cliquez sur "Modifier".

Dans la première colonne, choisissez l'affichage que vous voulez personnaliser puis cliquez sur le lien "Thèmes : informations" (dans le bloc Paramètres de base). Vous obtenez une liste des fichiers gabarits qu'il est possible d'utiliser pour cette personnalisation. Les gabarits les plus globaux se trouvent en début de liste (Sorties de l'affichage) et plus vous descendez, plus leur portée se restreint à des éléments spécifiques de la vue (Field Contenu).

Choisissez le gabarit qui vous intéresse (par exemple, views-view-unformatted--chroniques.tpl.php) et créez un fichier du même nom dans le dossier de votre thème. Cliquez ensuite sur le lien concernant ce fichier gabarit (par exemple Sortie du style), Views affiche son code-source :

<?php

// $Id: views-view-unformatted.tpl.php,v 1.6 2008/10/01 20:52:11 merlinofchaos Exp $
/**
 * @file views-view-unformatted.tpl.php
 * Default simple view template to display a list of rows.
 *
 * @ingroup views_templates
 */
?>
<?php 
if (!empty($title)): ?>
  <h3><?php print $title?></h3>
<?php endif; ?>
<?php 
foreach ($rows as $id => $row): ?>
  <div class="<?php print $classes[$id]; ?>">
    <?php print $row?>
  </div>
<?php endforeach; ?>

Copiez-collez ce code dans le fichier que vous venez de créer, ajoutez-y une petite modification (par exemple, écrivez test, cela vous permettra de vérifier rapidement si le nouveau gabarit a été pris en compte) et sauvegardez le fichier.

Cliquez sur "Revenir à informations de thème." puis cliquez sur le bouton "Rescan template files" pour que votre nouveau fichier gabarit soit détecté. Tous les fichiers gabarits utilisés par Views sont en gras, celui que vous venez de créer doit donc aussi être en gras. Sauvegardez la vue et regardez l'aperçu : il doit mentionner le texte test.

Ce gabarit ne s'oocupe d'afficher qu'une simple instance de champ/ligne dans la vue, la section "foreach" signifie que le code qui affiche la ligne est répété autant de fois que nécessaire pour afficher toutes les lignes de la vue. Si vous ajoutez du code de personnalisation de part et d'autre de la variable qui affiche la ligne ($row), il sera répété de la même façon.

Si vous ne voulez pas afficher de titre, vous pouvez supprimer le code du début:


<?php if (!empty($title)): ?>
  <h3><?php print $title?></h3>
<?php endif; ?>

 

Voici un exemple de code à mettre dans le fichier views-view-unformatted--lenomdevotreaffichage--page.tpl.php:

<?php if (!empty($title)): ?>
  <h3><?php print $title; ?></h3>
<?php endif; ?>

<?php foreach ($rows as $row): ?>

<div class="some-name">
  <?php print $row ?>
</div>

<?php endforeach; ?>

Si, dans la vue, vous voulez personnaliser la présentation d'éléments plus spécifiques, utilisez les gabarits suivants de la liste.

En espérant que cela soit utile.

David Newkerk