Views contextual filters, relationships - arguments et relations (liens)
Dans cette leçon, je vais accorder une attention particulière au travail avec les arguments dans Views. Les arguments sont des parties de l’URL, par exemple :
node/15 Le premier argument est "node", le second "15". taxonomy/term/10 Le premier argument est "taxonomy", le second "term", le troisième "10". user/67 Le premier argument est "user", le second "67".
Je pense que ces exemples sont clairs et ne nécessitent pas d’explications supplémentaires.
Les arguments peuvent être obtenus via la fonction arg()
:
<?php print arg(0) . '<br />'; print arg(1); ?>
Si l’URL est node/15
, alors s’affichera :
node 15
La numérotation des arguments dans la fonction arg()
commence à 0. Maintenant, voyons quelles solutions prêtes à l’emploi sont fournies par le module Views.
Afficher les nœuds d’un utilisateur
Supposons que nous soyons sur la page user/1
et que nous voulions afficher un bloc des nœuds de l’utilisateur avec uid = 1
. Pour cela, nous utiliserons un argument provenant de l’URL.
Créons une nouvelle vue. Affichons un bloc, dans les champs sélectionnons le titre du nœud, évidemment affichons uniquement les nœuds publiés, triés par date de publication.
Titre
Titre : user_nodes
Format
Format : Liste non formatée | Paramètres
Afficher : Champs | Paramètres
Champs
Contenu : Titre
Critères de filtre
Contenu : Publié (Oui)
Critères de tri
Contenu : Date de publication (desc)
Pagination
Utiliser la pagination : Afficher un nombre spécifié d’éléments | 15 items
Lien "Plus" : Non
Maintenant, ajoutons un filtre contextuel (arguments). Sélectionnez :
Contenu : Auteur uid
Ensuite, choisissez :
When the filter value is NOT available Provide default value User ID from URL Provide default value
Enregistrez la vue. Placez le bloc dans la région souhaitée, puis