Ex 3 views: Contextual Filters et Relations (Definitive Guide to Drupal 7)

Les Filtres Contexuels sont des données inputs qui viennent en général de l'URL (ou arguments, ex d'utilisation typique: réduire une vue à un seul noeud, ou 1 user, ou des noeuds tagués d'un terme...).

But: créer une vue qui ne prend que les users qui ont au moins créé un billet de blog, leur attribue une page perso, crées dynamiquement (sans filtre sur un nom de user)

Conf de path_auto

pour les noeuds blog, définir le pattern  (admin/config/search/path/patterns) à blog/[user]/[title]

Note: il y une partie "content path" (avec Default path pattern for Billet de blog (applies to all Billet de blog content types with blank patterns below) que j'ai mis à blog/[node:author]/[node:title]
et plus bas une partie "blog path" avec Pattern for blog page paths qui était à blogs/[user:name] et que j'ai modifié en blog/[user:name]

 

Création de la vue

Créer une nouvelle vue (admin/structure/views/add), avec cette page principale et un bloc:

Vue avec argument

Page

  Bloc
titre Blogs    
format Show Content Teaser    
filtre publié, de type Blog    
tri date pub, desc    
page settings chemin blog
Menu: Entrée normale du principal
   
Relation auteur pour retrouver ce champs ci-dessous:    
contextual filters User: Name
 –filter value is NOT in the URL = Show “Display all results for the specified field”
 –Override Title = Blogs by %1
 –Specify validation settings = Basic Valid, Display contents of “No results found”
  –More Section:
    –Case = Capitalize each word
    –Case in path = lowercase
    –Transform spaces to dashes in the URL = Yes
  supplanter
User: Name
si non présent: display summary
ordre tri: asc

Afficher le bloc

Pour le block, il ne doit apparaitre que pour les pages en  blog/* (et blog)

Sans mise en forme: un titre indésirable et les puces sont moches... Le nom de billet posté apparait entre ()
Modifier la vue de ce bloc en cliquant sur le champs Contenu: Titre (supplanter dans la liste en haut) et dans "Paramètres d'affichage": cocher

 

Exporter

Les fausses manip' sont si faciles dans View... En PJ, 2 exemples de views exportées.

 

Autres conf dispo dans Configuration d'un filtre contextuel

Plus

Titre pour l'adminsitration

Mode glossaire
applique une limite au nombre de caractères utilisés dans la valeur du filtre, ce qui permet à la vue résumée de se comporter comme un glossaire.

Casse (minuscule, maj...): Lors de l'affichage du titre et du résumé, comment transformer la casse de la valeur du filtre.

Casse dans les chemins: Lors de l'affichage des chemins URL, comment transformer la casse de la valeur du filtre. À n'utiliser qu'avec Postgres, qui utilise des comparaisons sensibles à la casse.
Avec en plus:

  • Transformer les espaces en tirets dans les URL
  • Autoriser plusieurs valeurs : Si sélectionné, les utilisateurs peuvent saisir plusieurs valeurs sous la forme 1+2+3 (pour OR) ou 1,2,3 (pour AND).

 


copies d'écran

Views: configurer Le filtres contextuel de la page

 

 

 

 puis plus bas:

 

 

Views: configurer Le filtres contextuel de la page - 2

 

 

 

 

 

 

 

 

 

 

 

meme fenetre (bas): Views: configurer les filtres contextuel de la page - 3

 

Supplanter pour le bloc: Views: configurer le filtre contextuel du block

Note "Chemin de base": l'aide affiche:

Définir le chemin de base pour les liens dans cette vue récapitulative, i.e. http://ex.com/chemin_de_votre_vue/archive. Ne pas mettre de slash (/) avant et après. Si cette valeur est vide, Views utilisera le premier chemin trouvé comme chemin de base dans les affichages de page, ou / si aucun chemin n'est trouvé.

Plus bas:

  X Afficher le décompte d'enregistrements avec lien
     Supplanter le nombre d'éléments à afficher
o  Afficher le contenu de "Aucun résultat trouvé"
o  Afficher "Accès refusé"

 

 

 

 

Definitive Guide to Drupal 7

doc: 
Fichier attachéTaille
Plain text icon ex_filtre_contxt.txt9.74 Ko
Plain text icon ex_relation2.txt11.87 Ko