web-dev-qa-db-fra.com

Comment passer le filtre contextuel de vues via URL?

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?

18
giorgio79

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.

13
Alfred Armstrong

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

contextual filter

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

enter image description here

12
Sibiraj PR

Si vous voulez 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.

5
almoraleslopez