Cet article est une mise à jour de l'article Vue Calendrier avec Drupal - Gestion d'évènements qui était pour Drupal 6.
Gérer des contenus événements et un agenda en vue calendrier avec Drupal
1ère étape, intaller les modules Views, Date, Calendar, Calendar Tooltips, Ctools et Beautytips
Via drush :
drush dl -y views date calendar calendar_tooltips ctools beautytips
Ensuite, les activer
Via drush :
drush en -y views views_ui date date_api calendar calendar_tooltips ctools beautytips date_popup date_all_day
Aller à l'URL admin/structure/types/add (Structure -> Content Types -> Add)
Name : Evenement (machine name : evenement)
Vous mettez ce que vous voulez pour le titre et les autres options.
Ensuite, il faut ajouter les champs nécessaires : dans notre cas, on va faire super simple, on aura le titre, une date, une description (body), mais vous pouvez rajouter tous les champs que vous voulez.
Donc mon champ date : Manage fields -> Add new field "Date", machine name "field_date", field type "Date (Unix timestamp)", Widget "Pop-up calendar". J'ai pris Année, Mois, Jour, Heure et Minutes, sans date de fin pour faire simple, et j'ai rendu le champ obligatoire. Attention, ceci n'est qu'à titre d'information, vous mettez ce que vous voulez.
On se retrouve donc avec un truc comme ça :
Maintenant, direction Views.
Configuration de Views
Aller à admin/structure/views/add (Structure -> Views -> Add)
View name : calendrier
Create a block (j'ai choisi de faire un bloc pour l'afficher sur plusieurs page, mais vous faites comme vous voulez)
Dans la section "Format/format", vous définissez le rendu à "Calendar".
J'ai presque tout laissé par défaut, sauf "Display as mini calendar" que j'ai mis à "Yes" et "Calendar day of week names" que j'ai mis à "First letter of name".
Dans la section "Format/Show", vous définissez le rendu à "Calendar entities". J'ai tout laissé par défaut.
Dans la section Fields, en plus du titre (pour lequel j'ai viré le label), j'ai rajouté le champ Content:Date créé avant. J'ai aussi viré le label.
Dans la section "Sort Criteria", j'ai supprimé Content: Post date (desc) et j'ai rajouté Content:Date avec un tri Ascendant.
Dans la section "Pager", changez "Display a specified number of items" par "Page by date" avec les valeurs par défaut.
Enfin, dans la section "Advanced -> Contextual filters", ajoutez "Date: Date (node)".
Dans les options, il faut mettre :
"When the filter value is NOT available" -> "Provide default value / Current date"
"Date field(s)" -> "Content: Date (field_date) ".
Et maintenant, sauvegardez !!!
Vous devriez donc avoir un truc comme ça :
Créer les événements
Allez sur node/add/evenement (Content -> Add content -> Evenement) et créez vos événements.
Activer le bloc
Enfin, aller sur admin/structure/block (Structure -> Block), et mettez votre bloc où vous voulez.
Maintenant que tout est fini, vous devriez avoir ce rendu :
Et avec les tooltips :
Articles en lien
- Vue Calendrier avec Drupal - Gestion d'évènements
- Tuturiel Drupal 7, vue et pager (programmation) : faire une vue sans Views
1 commentaire