Personnaliser les flux RSS avec Drupal

Mercredi 8 Septembre 2010

Un petit tutoriel ne peut pas faire de mal en cette rentrée. Après quelques recherches, on s'est aperçu qu'il n'y a pas - ou peu - d'informations concernant la personnalisation des flux RSS. Et après quelques temps de « bataille » pour que le flux soit bien lu par tous les lecteurs, on est enfin tombé sur LA solution.

Un petit tutoriel ne peut pas faire de mal en cette rentrée. Après quelques recherches, on s'est aperçu qu'il n'y a pas - ou peu - d'informations concernant la personnalisation des flux RSS. Et après quelques temps de « bataille » pour que le flux soit bien lu par tous les lecteurs, on est enfin tombé sur LA solution. Peut-être vous aussi avez vous déjà voulu personnaliser vos flux et avez rencontré les mêmes problèmes ?
Quelques éléments pour vous aider si cela vous est arrivé...

Pour créer un flux RSS personnalisé, nous utilisons le module views RSS. Il permet d'ajouter des champs pour les vues du flux. Voici les étapes pour créer un tel flux : 

  • Créer une vue (view) de type noeud (node)
  • Ajouter un affichage de type flux pour cette vue
  • Lors de nos essais, nous avons choisis le style RSS Feed – Fields (qui est par défaut ajouté par le module) et qui nous permet d'ajouter des champs pour la vue
  •      Les champs prédéfinis pour le flux sont : titre, description, lien et guid
    Titre: Titre du contenu (node)
    Description: l'affichage du computed field (champs calculés par Php) qui doit d'abord être ajouté dans le type de contenu pour pouvoir créer le flux RSS. Ce computed field doit contenir toutes les données que vous souhaitez afficher dans le format html (image, description, date, coordonnées, Lire plus, etc.)
    Lien: inscrire uniquement le chemin complet vers le noeud sans les balises <a></a> : http://www.ebizproduction.com/. Pour obtenir simplement l'url, on peut réutiliser le champ lien et réécrire le code.
    Guid: La valeur unique de l'élément. Le nid, par exemple
    Nous disposons ainsi de 4 champs qui sont titre, description, lien et guid, que nous avons pu personnaliser en cliquant sur l'étoile en face de l'élément de style.
  • Il faut ensuite créer le chemin d'accès pour la page du flux RSS. Ce n'est pas le plus compliqué car il suffit d'indiquer uniquement le nom de la page. Par exemple, nous ne pouvons pas créer le chemin RSS/actualite, mais rss-actualite oui. Cela évite de fausser les liens au site lorsque l'on s'abonne au flux.

NB: Le computed field à créer doit être rempli pour tous les noeuds déjà créés. Nous avons pour cela créé un module pour un de nos projets. Nommé ebiz_compute, ce module contient une fonction qui tourne sur les nœuds d'un type de contenu et met à jour le computed field avec la formule du computed field correspondante.