Filtre contextuel avec vue bloc

19

J'ai une page vue ("/ news") avec un filtre contextuel pour les sujets ("news / design", "news / coding" ...) qui sont des termes de taxonomie et cela a bien fonctionné. En raison de certains changements pour le thème mobile, j'ai besoin d'une vue en bloc au lieu de la page, mais je ne peux pas le faire fonctionner avec les filtres.

Avec les anciens paramètres de filtre, je reçois tous mes articles dans "/ news", mais le filtre que j'utilise a changé la valeur par défaut du filtre en "taxonomy term ID from url"; Je vois maintenant une page vide pour "/ news" (c'est maintenant une page simple avec la vue de bloc incluse) et un "site introuvable" pour "/ news / design" etc. Dans l'aperçu de la vue, tout fonctionne bien .

Ce sont les paramètres de la vue.

capture d'écran

user6670
la source

Réponses:

33

En général, la raison pour laquelle ce bloc ne fonctionne pas est qu'un bloc n'a pas de chemin assigné et que le filtre contextuel n'a pas de chemin sur lequel travailler. Pour connecter le bloc à un chemin, revenez aux paramètres du filtre contextuel et dans la section, What to do if the URL is not availablesélectionnez Provide default valueet sélectionnez Raw value from URLdans la liste déroulante. Dans la zone Path Component, sélectionnez la position dans l'URL que votre filtre contextuel obtient sa valeur.

Dans votre cas spécifique, vous avez indiqué à la vue d'interpréter l'URL comme un terme de taxonomie et ce n'est probablement pas le format de votre URL (taxonomie / terme / tid). L'interface utilisateur de vues est un peu trompeuse en ce qu'elle suggère que l'alias peut être utilisé dans le filtre contextuel lorsqu'il ne le fait pas. Drupal convertit l'alias en valeur d'URL de base lorsqu'il appelle la vue et c'est ce qui est directement disponible dans le filtre contextuel. Pour utiliser l'alias, vous devez l'informer spécifiquement comme décrit ci-dessus. Les vues sont puissantes, mais un peu délicates à utiliser. Un outil que vous pouvez utiliser si vous avez une certaine expérience des requêtes SQL consiste à activer l'affichage des requêtes dans l'affichage Aperçu de l'onglet Paramètres. Cela vous indiquera quelles vues tentent de faire lorsque la vue est appelée.

Plus d'informations sur cette question à cette question

Pierre de taille
la source
Salut, merci beaucoup pour la réponse détaillée. Maintenant, je vois ce que signifie ment par terme de taxonomie. Malheureusement, cela ne fonctionne pas non plus avec la "valeur brute de l'url". Il est vraiment difficile de déboguer, car dans l'aperçu, tout fonctionne bien. Y a-t-il autre chose que je ne vois pas?
user6670
Si cela fonctionne en prévisualisation, mais pas sur le site, cela implique que le problème ne vient pas des paramètres d'affichage. Il se peut que la vue n'obtienne pas l'URL. Le bloc d'affichage est-il placé dans une région thématique? Un onglet rapide ou un autre module d'affichage spécialisé qui appelle le bloc d'affichage est-il directement impliqué?
Ashlar
Je ne sais pas pour user6670, mais cette réponse m'a sauvé les fesses aujourd'hui. Merci, @Ashlar!
beth
1
J'ai réussi à utiliser cette solution, mais une chose qui doit être mentionnée est que tous les filtres contextuels doivent avoir une valeur par défaut. Une fois que j'ai défini tous les filtres contextuels sur «Fournir une valeur par défaut», «Valeur brute de l'URL» et choisi une position, cette solution a très bien fonctionné.