Wie bekomme ich einen Block, um eine URL zum Konfigurieren eines Kontextfilters zu verwenden?


8

Blöcke haben keine Pfade. Wie kann ich also einen Kontext an den Block übergeben, um die richtigen Ergebnisse für eine Seite zu erhalten?

Ich bin neu und habe nicht genug Ruf, um meine eigene Frage acht Stunden lang zu beantworten (siehe Abbildung!). Die Antwort auf diese Frage erfolgt nach Ablauf der Frist.


Ich habe ein ähnliches Problem. Hoffentlich kann mir jemand dabei helfen: drupal.stackexchange.com/questions/27818/…
user6670

Antworten:


15

Eine Ansichtsseite kann die URL lesen und einen Pfad für die Seite verwenden, um eine Taxonomiebegriffseingabe für einen Kontextfilter zu lesen. Eine URL, wie example.com/a/term/bsie von der Ansichtsseite mit dem Pfad von gelesen wird a/%/b. Der Wert für %in der URL wird an den Kontextfilter übergeben, um zu bestimmen, welcher Inhalt in die Ansicht aufgenommen werden soll.

Da ein Block keinen Pfad besitzt, muss etwas mehr Konfiguration vorgenommen werden, um das Ergebnis zu erzielen. Um dies zu tun:

  1. Klicken Sie im Blockansichtsformular in den Ansichten auf den Kontextfilter.
  2. Klicken When the filter value is NOT availableSie unter Auswählen Provide default value.

Wenn es sich bei der Seite im Pfad um einen Taxonomiebegriff handelt, führen Sie die folgenden Schritte 3 und 4 aus:

  1. Wählen Sie Taxonomy term ID from URLaus dem Dropdown-Feld Typ.
  2. Überprüfen Sie Load default filter from term page.

Oder versuchen Sie es auf andere Weise:

  1. Wählen Raw value from URL
  2. Identifizieren Sie, welcher Teil der URL der Begriff ist. z.B. denn A/term/Bder Begriff steht an zweiter Stelle.

Dann:

  1. When the filter value IS in the URL or a default is providedKlicken Sie unter "Validierungskriterien angeben".
  2. Wählen Sie Taxonomy termund das spezifische Vokabular, das verwendet wird.
  3. Unter Filter Value typeAuswahl Begriff Name in Begriff ID konvertiert "
  4. Durch Überprüfen Transform dashes in URL to spaces in term name filter valueswird sichergestellt, dass alle automatisch generierten Pfadaliasnamen, die Leerzeichen in Bindestriche konvertiert haben, ordnungsgemäß behandelt werden. Probieren Sie Ihre Ansicht mit diesem Kontrollkästchen aus.

Wenn Ihre Ansicht nicht auf der Seite angezeigt wird, sollten Sie bei der Fehlerbehebung überprüfen, ob die Ansicht funktioniert, indem Sie die Eingabe in der Ansichtsvorschau testen. Stellen Sie sicher, dass alle Leerzeichen so behandelt werden, dass sie mit der Einstellung in Schritt 8 übereinstimmen. Stellen Sie außerdem sicher, dass Ihr Ansichtsblock in angezeigt wird admin/structure/block.


Ich habe zwei Taxonomie-Vokabulare. Sammlungen coll1, coll2 und coll3 Größen klein, mittel und groß Meine URL sieht folgendermaßen aus: Sammlungen / coll1 / klein Ich habe versucht, die von Ihnen beschriebene Methode zu verwenden, erhalte jedoch keine Ergebnisse. Irgendeine Idee?
schreien SiLENCE

Ich würde mehr Informationen über Ihre Ansicht benötigen. Fügen Sie eine Frage hinzu und beschreiben Sie, welche Felder, Filter und Kontextfilter Sie eingerichtet haben, und wir werden es herausfinden.
Quader

1

Wenn Sie nach einem Inhaltstyp anstelle einer Taxonomie auswählen möchten, benötigen Sie ein anderes Setup. Versuche Folgendes:

  1. Klicken Sie auf Kontextfilter
  2. Inhalt hinzufügen: NID Auf der , wenn der Filter - Wert nicht verfügbar IS Wählen Sie im Abschnitt Standardwert angeben und wählen Content ID von URL auf der Dropdown - Liste.
  3. Auf der , wenn der Wert FILTER IST ODER EIN STANDARD WIRD Wählen Sie im Abschnitt Validierungskriterien angeben , wählen Inhalt auf dem VALIDATOR Auswahlbox und wählen , welche Inhaltstypen Sie autorisieren angezeigt werden.

Das sollte es tun.


Validierung bestanden, aber es filtert nicht die NID? Muss ich eine Beziehung zum Kontextfilter erstellen?
Sonic Thoughts
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.