Gérer des contenus événements et un agenda en vue calendrier avec Drupal
Très bon article publié sur le site http://www.davidpetit.com/blog/drupal/gerer-contenus-evenements-agenda-….
Je me permet de le recopier pour mémo.
Attention, cet article est pour Drupal 6, la version Drupal 7 est ici : Tutorial : Vue Calendrier avec Drupal 7 et Views 3, gestion des événements
Installation des modules
Bonjour ! Il existe plusieurs méthodes pour gérer des événements et un agenda sous Drupal. Ceci dit, je souhaite partager avec vous la méthode que j'utilise pour y arriver. J'expliquerai aussi comment obtenir un affichage avec calendrier. On utilisera donc pour ceci les modules CCK, Views, Date et Calendar. Je suppose ainsi pour ce tutorial que vous savez installer des modules dans Drupal.
La première chose à faire, est d'installer les modules requis:
Calendar: http://drupal.org/project/calendar
Le rôle de ces modules :
CCK est un module qui sert à créer des champs personnalisés dans ses propres types de contenu.
Views est un module qui permet de créer des affichages précis de tous les types de contenus ou d'éléments dans Drupal.
Date est ajoute le champ de type date aux champs disponibles dans CCK.
Calendar permet de faire des affichages de type calendrier dans Views.
Création du type de contenu "Evénement"
Une fois les modules installés, nous allons commencer par créer le contenu personnalisé qui représentera les événements. Pour cela, il faut aller dans "Gestion du contenu -> Types de contenu -> Ajouter". Vous remplissez vos champs et vous devriez obtenir quelque chose qui ressemble à ceci:
Une fois enregistré, nous allons définir les champs de ce contenu. Vous pouvez créer autant de champs que vous voulez. Le minimum est de créer un champ de date pour nos événements; vous pouvez aussi créer des champs de type texte pour le contenu, le programme, le lieu etc. des événements.
Pour le champ date vous pouvez remplir comme suit:
Nous avons opté pour le format "Datetime" mais vous pouvez très bien utilisé "Datestamp" ou "Date"; la différence est juste au niveau du format et des normes, ce n'est pas très important mais si vous voulez en en savoir plus allez voir la documentation ici: http://drupal.org/node/262066
De même, j'ai opté pour le pop-up car c'est plus convivial pour saisir les date mais vous pouvez essayer la liste déroulante ou les autres options disponibles.
Maintenant, il reste une dernière chose à faire: définir l'affichage des champs; c'est une étape importante lorsqu'on crée des champs cck, sinon rien n'apparaîtra.
Pour le champ date, vous pouvez faire comme ceci:
Création de nos contenus "Evénement"
L'étape la plus simple ! Vous allez sur "créer un contenu", vous choisissez le type événement et vous remplissez vos champs !
(Faites-en au moins 5 afin de pouvoir tester différents affichages pour ce tutorial.)
Affichage de nos contenus "Evénement" dans un tableau
Pour commencer, on peut déjà réaliser un tableau qui affchera les 5 événements les plus récents à venir. Créez une views que vous nommerez comme vous le souhaiter. Le principal est qu'il doit être de type node. Vous devez aller dans "Construction du site -> Views".
Une fois la views créée, dans les paramètres de base, vous choisissez le style Tableau (Vous paramétrez votre tableau selon vos souhaits personnels ou laissez par défaut). Vous définissez le nombre d'éléments à afficher à 5.
Dans les champs, vous pouvez ajouter le titre du node et le contenu date - date de début.
Dans les filtres, vous ajoutez le type de contenu "Evénement".
Dans les critère de tri, vous ajoutez le contenu date - date de début.
Vous pouvez enfin enregistrer et faire un aperçu pour tester ce que donne cet affichage.
Affichage de nos contenus "Evénement" dans un calendrier
Quand on installe le module Calendar, il met en place directement des vues Calendar. Il suffit de les activer et ensuite on pourra facilement créer notre vue calendrier.
Cependant, certains réglages par défaut peuvent ne pas suffir pour faire fonctionner l'affichage en calendrier. Par exemple, pour que cela fonctionne, il faut impérativement lui indiquer un argument.
La première chose à faire sera de mettre un argument Date avec les réglages suivants:
-> Action à mener si l'argument est absent : Fournir l'argument par défaut
-> Joker: All
-> Type d'argument par défaut : Date actuelle
-> Granularité : mois (mais vous pouvez mettre autre chose si vous préférez)
-> Champ date : Date (field_date_evenement) - Date de début
-> Méthode :Ou
Ensuite, vous ajoutez vos champs, critères de tri etc. et ça devrait être bon !
PS: J'ai remarqué que le calendrier n'apparait pas forcément en entier sur l'aperçu en page de configuration de views, il apparait toutefois parfaitement si vous exporter la vue dans un Bloc (Calendar Block); et que vous regarder ce que ça donne sur une page.
NB: Lorsque vous créez des champs de contenu avec CCK, n'oubliez pas d'ajouter les permissions d'accès pour les utilisateurs car ils risquent de ne pas pouvoir les voir dans le cas échéant.
Merci encore à David Petit pour ce super tuto.
2 commentaire