Vues avancées avec Drupal 7 #dcparis13
-
Upload
fguery -
Category
Technology
-
view
1.082 -
download
2
description
Transcript of Vues avancées avec Drupal 7 #dcparis13
Vues avancées avec Drupal 7
Fabrice GUERY@fabriceguery
Sommaire
Rapide rappel des possibilités du module
Présentation avancée de l'interface de création
Présentation de l'API
Petit rappel
Présentation du contenu
Filtrage du contenu
Gestion des permissions, menu, …
Customisable!
Différents types de contenuNodes, commentaires, utilisateurs, …
En réalité, toutes les entités
Et même des sources de données différentes (solr, webservices, ...)
Possibilité d'utiliser les fields pour une customisation fine
Filtres de contexte
Permet de filtrer les contenu en fonction d'un paramètre d'URL.
Mise à jour des titres, breadcrumbs, ...
Relations
Récupérer des informations d'autres entités liés
Par exemple, pour récupérer des infos sur l'auteur d'un nœud il faudra ajouter la relation author.
Possibiliter d'ajouter de multiples relations (ex: lier les commentaires d'un nœud et tousleurs auteurs)
Filtres exposés
Permet à l'utilisateur de filtrer les résultats lui-même via l'affichage d'un formulaire
Possibilité d'avoir de multiple filtres, même avec un filtre de contexte.
Différents opérateurs (=, !=, IN, ...)
Customisable!
Autres fonctionalités utilesCache
Activer Ajax
Passer outre les access permission des contenus
Grouper (comme group by)
Theming par template
Customisable? Comment?
Theming des vues
Différents hooks et plugins
Customisation des templates
Plusieurs niveau de réecriture possible :– Par vues,– Par format (table, unordered list, …)– Par ligne– Par field
Les suggestions de nom des templates sont visibles dans themes → informations, via l'UI
Les principaux hooks disponibleshook_views_default_views(_alter)
Pour définir de nouvelles views
hook_views_data(_alter)
Ajoute / modifie des fields, définit les handlers, ...
hook_views_pre_render
Permet de modifier le tableau de render
hook_views_plugins(_alter)
Permet de définir de nouveaux plugins
HandlersComportement des éléments constitutifs de la vue
Ils définissent un ensemble de méthodes appliquées à, par exemple, un champ.
Voyons un exemple avec views_handler_field_comment
Cf views/handlers/
Handlers
Type Responsabilité Exemple
Field Affichage du champ Node: delete link (views_handler_field_node_link_delete)
Sort Tri Content: Created at (views_handler_sort_date)
Filter Filtre (+ form exposé) Content: Author (views_handler_filter_user_name)
Argument Filtre de contexte Content: Has taxonomy term IDviews_handler_argument_term_node_tid
Relationship Les relations Content: Author (views_handler_relationship)
Area Ajoute des blocs à la vue en dehors du resultat
Global result message (views_handler_area_result)
Les plugins Mh, un extrait de la doc peut-être...
Dans Views, un plugin est un peu comme un handler, mais ils ne participent pas directement à l'écriture de la requête. Ils s'agit d'objets utilisés pour afficher la vue ou effectuer d'autres modifications.
Bref, à peu près tout ce qui n'est pas un handler!
Example : views_plugin_access_perm
Principaux types de pluginsType Responsabilité Exemple
Display Défini le contexte dans lequel la vue est affichée
Page, block (views_plugin_display_page, views_plugin_display_block)
Style Défini l'affichage général de la vue Table, list(views_plugin_style_table, views_plugin_style_list)
Ligne Défini l'affichage d'une ligne de résultat views_plugin_row_fields,views_plugin_row_node_view
Pager Défini le type de pager views_plugin_pager
Exposed form plugin
Responsable pour l'affichage et le passage d'argument des filtres exposés
views_plugin_exposed_form_basic
Ressources https://api.drupal.org/api/views/ Views/handlers/ Views/includes/handlers.inc Views/plugins/* Views/includes/plugins.inc
Views development de F.G. Marand sur Slideshare
Vues avancées avec Drupal 7
Fabrice GUERY@fabriceguery