it-swarm.com.de

Wie filtere ich in einer Ansicht nur die Stammbegriffe in einem Vokabular?

Ich habe einen so strukturierten Wortschatz:

  • Root Alpha
    • Term Alpha 1
    • Term Alpha 2
      • Subterm Alpha 1
  • Root Beta
  • Wurzel-Gamma
    • Term Gamma 1
    • Term Gamma 2

Wie filtere ich die Ansicht, um nur die Grundbegriffe des Vokabulars anzuzeigen? Derzeit werden in meiner Ansicht sowohl die Stammbegriffe als auch die untergeordneten Begriffe angezeigt (Begriff * *).

In diesem Sinne möchte ich das Argument 'Root Alpha' (oder seine Gezeiten oder was auch immer aus einem Kontext) übergeben und es dann nur auf 'Root Alphas direkte Kinder' filtern lassen. (Begriff Alpha *). Ein tieferes Filtern wäre ein Bonus.

Ich kann es zum Laufen bringen, wenn ich alle meine Begriffe in einem Grundbegriff zusammenfasse, sodass das Vokabular wie folgt lautet:

  • Wahre Wurzel
    • Root Alpha
      • Term Alpha 1
      • Term Alpha 2
        • Subterm Alpha 1
    • Root Beta
    • Wurzel-Gamma
      • Term Gamma 1
      • Term Gamma 2

Ich bin mir nicht sicher, welche Vokabularstruktur korrekter ist. Als ich dies schrieb, wurde mir klar, dass ich etwas zu lesen habe, abgesehen davon, dass ich dies mit Ansichten herausfinden muss.

15
Phizes

Um nur die Grundbegriffe anzuzeigen, habe ich eine Lösung, die sicherlich jemanden zum Facepalm macht (zumindest habe ich das getan):

  1. Fügen Sie Ihrer Taxonomieansicht einen Kontextfilter hinzu
  2. Wählen Sie Taxonomiebegriff: Elternbegriff.

    Richten Sie es folgendermaßen ein: Wenn kein Filterwert verfügbar ist: Standardwert angeben - Festwert. Setzen Sie den Wert auf .

Ja, das ist alles. Begriffe ohne Eltern haben hier 0. Siehe die Beschreibung des übergeordneten Felds der Tabelle taxonomy_term_hierarchy:

Primärschlüssel: Die {taxonomy_term_data} .tid des übergeordneten Begriffs. 0 bedeutet, dass kein Elternteil vorhanden ist.

13
Scorchio

wenn Sie eine statische Taxonomiestruktur haben, können Sie mit filter criterion: Content: Has taxonomy terms (with depth) filtern. An dieser Stelle können Sie nur die zu filternden Stammbegriffe auswählen:

filter criterion: Content: Has taxonomy terms (with depth)

Ich hoffe, dass Informationen nützlich sind.

2
cigotete

Sie können dies auch mit einem einfachen Filter und einer nicht statischen Taxonomiestruktur tun:

  1. Fügen Sie ein Filterkriterium hinzu: Taxonomiebegriff: Eltern-ID
  2. Wählen Sie den Operator "Ist gleich" und füllen Sie den Wert mit "NULL".

enter image description here

Es werden nur die Stammbegriffe Ihrer Taxonomie angezeigt und es funktioniert weiterhin, wenn Sie die Taxonomiestruktur später ändern ...

1
scandel

Sie können es mit WHERE parent = 0 Mit db_query() auf Ihrer Seite auswählen.

0
Ahmed