Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| webmastering:portail:assos [15/07/2017 11:21] – rgrondin | webmastering:portail:assos [16/07/2017 17:57] (Version actuelle) – rgrondin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Annuaire des associations ====== | ||
| + | |||
| + | L' | ||
| + | |||
| + | |||
| + | ===== Types de contenus ===== | ||
| + | |||
| + | Premièrement, | ||
| + | |||
| + | Ici le module **Field Collection** et **Entity Reference** sont nécessaires au fonctionnement de ce type de contenu. | ||
| + | |||
| + | ^ Champ ^ Type ^ Description ^ | ||
| + | | Nom | texte | Nom de l'asso | | ||
| + | | Présentation | texte | courte présentation de l' | ||
| + | | Logo | Image | Logo servant à identifier l'asso dans les listes | | ||
| + | | Membres | Field collection membre asso | La liste des membres, leurs poste et mandat | | ||
| + | | Mandat actuel | Entier | Année du mandat actuel, servira à afficher les membres par mandat | | ||
| + | |||
| + | Pour la description du field collection membres : | ||
| + | |||
| + | ^ Champ ^ Type ^ | ||
| + | | user | Référence à un utilisateur | | ||
| + | | poste | texte | | ||
| + | | mandat | entier | | ||
| + | |||
| + | ** TODO ** Ajouter un champ type (asso, club, liste...), des liens de parenté pour les sous-com... | ||
| + | |||
| + | ===== Mise en place de l' | ||
| + | |||
| + | Ici les modules **Display Suite** et **Display Suite UI** sont nécessaires. | ||
| + | |||
| + | ==== Page d' | ||
| + | On fait les modification sur l' | ||
| + | |||
| + | Avec le module display suite, on utilise la mise en page //Deux colonnes fluides//. A gauche on met les informations relatives à l'asso (nom, logo..) et à droite la liste des membres. Le display de la liste des membres se fait avec le mode contenu complet, et avec un affichage //icone// que l'on définit directement dans la field collection membres. | ||
| + | |||
| + | ==== Affichage des membres ==== | ||
| + | L' | ||
| + | * Il faut afficher uniquement les membres du mandat actuel | ||
| + | * Il faut pouvoir afficher les membres des mandats précédents | ||
| + | Etant donné que tout est stocké dans une field collection, et que les affichages par défaut ne permettent pas de faire de tri on va utiliser une **view**. | ||
| + | |||
| + | On commence donc par créer une view qui va afficher des éléments de //field collection// | ||
| + | |||
| + | Pour ce qui est de la configuration de la vue on procède comme suit : | ||
| + | * **Titre de la vue :** Membres de l' | ||
| + | * **Format :** liste non mise en forme, avec classe de ligne // | ||
| + | * **Afficher :** Entité rendue | ||
| + | * **Critère de filtrage :** Élément field collection mandat (=2017) (exposé) | ||
| + | * **Nom du bloc :** membres assos | ||
| + | * **Pagination :** Afficher tous les éléments | ||
| + | Ensuite dans avancé on va rajouter toute la magie ((Comprendre que j'ai passé des heures à trouver comment faire)) qui va faire en sorte que la vue fasse bien son job : Sur chaque page d' | ||
| + | * **Relations :** Ajouter Élément Field collection : Entité avec membres (field_membres) | ||
| + | * **Filtres contextuels :** Contenu : nid | ||
| + | * **Relation :** field_membres | ||
| + | * **Quand la valeur de filtre N'EST PAS disponible :** Fournir une valeur par défaut (Type : Identifiant (ID) du contenu à partir de l'URL) | ||
| + | |||
| + | Ensuite on revient à l' | ||
| + | |||
| + | Ensuite il reste à gérer la façon dont les membres seront affichés. Pour ça on va directement gérer l' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Pour cela il faut activer display suite, en mettant un champ d' | ||
| + | <file html> | ||
| + | <div class=" | ||
| + | [field_collection_item: | ||
| + | [field_collection_item: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | * Il faut que les tokens soient activés (c'est ce qui permet d' | ||
| + | * Il faut que dans les paramètres d' | ||
| + | * Si le style icone n'est pas crée : Recadrer et redimensionner (150x150px) | ||
| + | </ | ||
| + | |||
| + | **TODO** Virer ce CSS inline et rajouter une classe pour le mettre en injection CSS. | ||
| + | |||