4. Différents types de contenu
Nodes, 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
5. Filtres de contexte
Permet de filtrer les contenu en fonction d'un paramètre d'URL.
Mise à jour des titres, breadcrumbs, ...
6. 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 tous
leurs auteurs)
7. 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!
10. 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
11. Les principaux hooks disponibles
hook_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
12. Handlers
Comportement 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/
13. 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 ID
views_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)
14. 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
15. Principaux types de plugins
Type 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