Comment obtenir un bloc pour utiliser une URL pour configurer un filtre contextuel?

8

Les blocs n'ont pas de chemin alors comment puis-je passer un contexte au bloc pour obtenir les résultats corrects pour une page?

Je suis nouveau et je n'ai pas assez de réputation pour répondre à ma propre question pendant huit heures (allez comprendre!) La réponse à cette question viendra après l'expiration du délai.

Pierre de taille
la source
J'ai le même problème. J'espère que quelqu'un pourra m'aider avec ça: drupal.stackexchange.com/questions/27818/…
user6670

Réponses:

15

Une page de vues peut lire l'URL et utiliser un chemin d'accès à la page pour lire une entrée de terme de taxonomie pour un filtre contextuel. Une URL telle que celle example.com/a/term/bqui serait lue par la page d'affichage avec un chemin d'accès de a/%/b. La valeur de l' %URL est transmise au filtre contextuel pour déterminer le contenu à inclure dans la vue.

Puisqu'un bloc ne possède pas de chemin, il est nécessaire de faire un peu plus de configuration pour obtenir le résultat. Faire cela:

  1. Cliquez sur le filtre contextuel sur le formulaire de vue de bloc dans les vues.
  2. Sous When the filter value is NOT availablesélectionner Provide default value.

Si la page du chemin est un terme de taxonomie, essayez ces étapes 3 et 4:

  1. Choisissez Taxonomy term ID from URLdans la liste déroulante Type.
  2. Vérifiez Load default filter from term page.

Ou sinon essayez ceci:

  1. Choisir Raw value from URL
  2. Identifiez quelle partie de l'URL correspond au terme. par exemple. car A/term/Ble terme est en deuxième position.

Alors:

  1. Sous la When the filter value IS in the URL or a default is providedcase "Spécifier les critères de validation"
  2. Sélectionnez Taxonomy termet le vocabulaire spécifique utilisé.
  3. Sous Filter Value typechoisir le nom du terme converti en ID de terme "
  4. La vérification Transform dashes in URL to spaces in term name filter valuesgarantit que tout alias de chemin généré automatiquement qui a converti des espaces en tirets est correctement géré. Essayez votre vue avec cette option cochée et décochée.

Si votre vue n'apparaît pas sur la page, les étapes de dépannage doivent inclure la vérification du fonctionnement de la vue en testant l'entrée dans l'aperçu de la vue. Assurez-vous que tous les espaces sont gérés pour correspondre au paramètre de l'étape 8. Assurez-vous également que votre bloc d'affichage est exposé dans admin/structure/block.

Ashlar
la source
J'ai deux vocabulaires taxonomiques. Collections coll1, coll2 et coll3 Tailles petite, moyenne et grande Mon URL ressemble à ceci: collections / coll1 / small J'ai essayé d'utiliser la méthode que vous décrivez mais je n'obtiens aucun résultat. Une idée?
Screaming SiLENCE
J'aurais besoin de plus d'informations sur votre point de vue. Pourquoi ne pas ajouter une question et décrire les champs, filtres, filtres contextuels que vous avez configurés et nous le déterminerons.
Ashlar
1

Si vous souhaitez sélectionner en fonction d'un type de contenu au lieu d'une taxonomie, vous avez besoin d'une configuration différente. Essayez ce qui suit:

  1. Cliquez sur Filtres contextuels
  2. Ajouter du contenu: NID Dans la section LORSQUE LA VALEUR DU FILTRE N'EST PAS DISPONIBLE , sélectionnez Fournir la valeur par défaut et choisissez ID de contenu à partir de l'URL dans la liste déroulante.
  3. Dans la section LORSQUE LA VALEUR DU FILTRE EST DISPONIBLE OU UN DÉFAUT EST FOURNI , sélectionnez Spécifier les critères de validation , choisissez Contenu dans la zone de sélection VALIDATOR et choisissez les types de contenu que vous autorisez à afficher.

Ça devrait le faire.

Urb Gim Tam
la source
La validation réussit mais ne filtre pas le NID? Dois-je créer une relation avec le filtre contextuel?
Sonicoughtts