Kontextfilter mit Taxonomiebegriff, der nicht in der URL enthalten ist

7

Ich hoffe, jemand könnte mir bitte helfen, das Biest zu zähmen, das als Kontextfilter bekannt ist. :) Ich habe eine Reihe von Knoten, denen alle einen bestimmten Taxonomiebegriff zugewiesen haben (alle aus demselben Vokabular), aber für meinen URL-Pfad schließe ich diese nicht ein:

Zum Beispiel:

Wortschatzname = Videos

Ein Knoten hat Begriffe:

-food
--vegetable
---carrot 

zugewiesen, aber die einzige URL, die ich will, ist:

site.com/videos/title-of-node

Und dann befinden sich alle anderen Knoten, auf denen Begriffe stehen, im Verzeichnis "Videos":

site.com/videos/title-of-another-node
site.com/videos/title-of-yet-another-node

Ich habe eine Ansicht mit einem Kontextfilter erstellt, in der nur die Knoten mit dem Karottenbegriff angezeigt werden sollen. Und es funktioniert perfekt, wenn eine Vorschau auf der Ansichtsseite angezeigt wird, aber wenn ich die eigentliche Seite lade, erhalte ich eine Liste ALLER Knoten unter dem Begriff "Lebensmittel", weil ich "WENN DER FILTERWERT NICHT IN DER URL -> Anzeige" habe alle Ergebnisse für das angegebene Feld "

Mein Hauptproblem ist meiner Meinung nach: "Die kontextbezogenen Filterwerte werden von der URL bereitgestellt." Und meine Bedingungen sind nicht in der URL. Also muss ich irgendwie die Begriffe ziehen, die jedem Knoten zugeordnet sind.

Jede Hilfe wäre sehr dankbar!

Dan
quelle
Wie definieren Sie die URLs? und was ist der Ansichtspfad, den Sie verwenden
Mohammed Shameem
@MohammedShameem - Mein Ansichtspfad ist / food. Wenn ich zu / Essen / Karotte gehen würde, dann funktioniert es gut. Aber ich brauche die URL / food / title-of-node. Mein Ziel ist es, dass alle meine Knoten unter dem Begriff "Essen" stehen. Ich bin nicht sicher, was Sie mit der Definition der URLs meinen? Ich hoffe, das hilft!
Dan
Möchten Sie den Knoten also abhängig von den Wörtern im Titel des Knotens filtern? oder die Begriffe, denen der Knoten zugeordnet ist?
Mohammed Shameem
Die Bedingungen wären perfekt! Wenn ich also wie in meinem Beispiel 10 Videos mit dem Begriff Karotte habe, werden alle 10 angezeigt. Aber meine URL muss / food / title-of-each-carrot-node sein. Ich hoffe das ergibt Sinn.
Dan
und sind dem Knoten mehrere Begriffe zugeordnet oder ein einzelner Begriff?
Mohammed Shameem

Antworten:

8

Anstatt eine Knotenansicht zu erstellen, erstellen Sie eine Taxonomieansicht.

Darin ergeben sich zwei Beziehungen:

  1. Taxonomiebegriff: Inhalt mit Begriff;
  2. Taxonomiebegriff: Inhalt mit {Name des Taxonomiefelds im Inhaltstyp} *;
  3. Fügen Sie einen Kontextfilter vom Typ Inhalt hinzu: Titel; Verwenden Sie die erste Beziehung für den Kontextfilter. Nehmen Sie die erforderlichen Änderungen in der Option more vor, z. B. Änderung in Kleinbuchstaben, Leerzeichen in Bindestrichen usw.;
  4. Fügen Sie die erforderlichen Felder aus dem Inhalt mit der Beziehung 2) hinzu.

Du bist startklar.

EDIT: Gemäß der Diskussion gab es eine andere Notwendigkeit, auch die Knoten unter einem Begriff und seine Unterbegriffe anzuzeigen.

  1. Erstellen Sie eine Ansicht des Typinhalts.

  2. Fügen Sie die erforderlichen Felder hinzu.

  3. Fügen Sie einen Kontextfilter vom Typ Inhalt hinzu: Hat eine Taxonomie-Term-ID (mit Tiefe) und wählen Sie die Tiefe eines Werts so tief wie die Hierarchie, die Sie in der Taxonomie haben.

Wenn Sie nun den Begriff id als Eingabe übergeben, werden alle Knoten unter diesem Taxonomiebegriff einschließlich der untergeordneten Knoten angezeigt.

Wenn Sie die URL ändern möchten, um den Begriffsnamen anstelle der Begriffs-ID zu erhalten, gehen Sie wie folgt vor.

  1. Wenn Sie den Pfad als Taxonomie / Term /% angeben, wird der Standardtaxonomiepfad überschrieben.

  2. Pathauto- Modul installieren Dies hängt vom Tokens- Modul ab. Sie müssen es also ebenfalls installieren.

  3. Unter Konfiguration -> URL-Aliase haben Sie eine Registerkarte namens Patters.

  4. Stellen Sie das Muster der "TAXONOMY TERM PATHS" auf das ein, was Sie möchten. Stellen Sie sicher, dass der letzte Wert [Begriff: Name] ist. Wenn Sie also möchten, dass der Pfad Kategorie / Karotte ist, sollten Sie ihn als Kategorie / [Begriff: Name] angeben.

  5. Wenn Sie die Taxonomiebegriffe bereits hinzugefügt haben, müssen Sie das "BULK UPDATE" ausführen, das wiederum eine Registerkarte auf der Seite "URL-Alias" ist.

Wenn Sie nun die Seitenkategorie / den Termnamen besuchen, werden alle Knoten unter dem Begriff einschließlich der untergeordneten Begriffe angezeigt.

Mohammed Shameem
quelle
Danke Mohammed! Ich werde es versuchen. Können Sie mir bitte mitteilen, wie eine Taxonomieansicht erstellt wird? Ich kann es dann von dort nehmen. Vielen Dank!
Dan
Wenn Sie eine Ansicht erstellen, gibt es ein Dropdown-Menü mit der Aufschrift "Anzeigen", das wir für den Inhalt ausgewählt haben. Ändern Sie das in Taxonomie.
Mohammed Shameem
Mohammed Ich sehe keinen "Inhalt mit {Vokabelname}" als Option. Ich sehe Inhalte nur mit Katalog, Kategorie, Schlüsselwort, Tags, Begriff. Vermisse ich etwas
Dan
Ich meine, du solltest den Vokabelnamen ersetzen, den du hast :-) Entschuldigung, dass du nicht klar bist. Ich werde meine Antwort aktualisieren, um es klarer zu machen. Wenn es sich also um eine Kategorie handelt, sollte es sich um einen Inhalt handeln, der Kategorie usw. verwendet.
Mohammed Shameem
Ah ok. :) Macht Sinn. Leider sehe ich mein Vokabular mit dem Namen "food" nicht als eins aufgeführt. Muss ich irgendwo anders darauf verweisen, um es zu sehen?
Dan