Aller au contenu principal
loading

Tutorial : Vue Calendrier avec Drupal 7 et Views 3, gestion des événements

POSTÉ DANS Drupal 7 TAGS Drupal 7 AUTEUR herve COMMENTAIRES 1

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 :

Création du type de contenu "Evénement"




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 :
 

Image retirée.

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 :

 

Image retirée.

Et avec les tooltips : 

Image retirée.



1 commentaire