Comment passer le filtre contextuel de vues via URL?

18

Je souhaite transmettre certaines valeurs à ma vue via des filtres contextuels dans l'URL. Quels GET naImes j'utilise? Il ne semble pas y avoir d'indice, juste ce "Les valeurs du filtre contextuel sont fournies par l'URL".

Si je dois construire cette URL, comment savoir quels noms de var GET dois-je transmettre pour qu'ils soient reconnus?

giorgio79
la source

Réponses:

13

Les filtres contextuels ne sont pas passés dans des variables distinctes, ils font partie du chemin. Si votre chemin de vue est xxx / yyy, alors pour avoir une valeur de filtre de nn, le chemin serait xxx / yyy / nn.

Alfred Armstrong
la source
1
+1. et cet ordre xxx / yyy est le même que celui que vous pouvez voir sous le volet "Filtres contextuels" dans l'interface utilisateur des vues.
AyeshK
12

Utilisez Fournir une valeur par défaut dans le filtre contextuel.

filtre contextuel

vous pouvez également utiliser du code php pour obtenir la valeur de l'url

entrez la description de l'image ici

Sibiraj PR
la source
1
Avez-vous un exemple du code PHP que l'on pourrait utiliser? Merci!
petergus
C'est lié à ce domaine. Par exemple: - S'agit-il d'un champ numérique puis - retourne 1; ou retourner $ user-> uid; etc ..... fonctionnera.
Sibiraj PR
Ces options ne sont-elles pas disponibles lorsque la valeur n'est pas dans l'URL? Comment mesurera-t-il sa valeur envoyée en paramètre?
pal4life
Ce n'est jamais une bonne pratique d'avoir du code PHP dans votre base de données, faites toujours votre code dans des fichiers et enregistrez-les dans un système de révision de code
lslinnet
5

Si vous souhaitez passer des arguments via GET dans l'URL, vous pouvez utiliser le module BEF pour cela.

Par exemple: mydomain.com/your-view-path?field_a=valuea&field_b=valueb

Avec de meilleurs filtres exposés, vous devez ajouter des filtres exposés (pas un filtre contextuel), vérifiez l'option exposer ce filtre et le nom de la variable GET est ci-dessous dans plus d'options. Ensuite, si vous ne souhaitez pas afficher le filtre, vous pouvez le masquer dans les paramètres de filtres mieux exposés.

N'oubliez pas d'activer l'option Utiliser Ajax si votre vue est un affichage en bloc.

Le paramètre de style de filtre exposé doit être défini sur Filtres mieux exposés au lieu de De base.

Il est très utile avec les blocs de vue.

almoraleslopez
la source