Hierarchische Taxonomy und exposed filters
am 04.03.2010 - 13:30 Uhr in
Hallo zusammen,
ich habe ein kleines Problem.
Mein derzeitiges Projekt benötigt eine hierarchische Taxonomie Struktur (oder alternatives Äquivalent). Die Struktur entsteht in einem Content-Typ "Ergebnis" mit Hilfe des Hierachical Select Moduls (funktioniert auch wunderbar)
Die Struktur sieht folgendermaßen aus
Vokabular: Mannschaften
Team 1
-- Spieler 1
-- Spieler 2
-- Spieler 3
Team 2
-- Spieler 4
-- Spieler 5
Team 3
-- Spieler 6
-- Spieler 7
-- Spieler 8
...usw.
Der Content-Typ Ergebnis sieht folgendermaßen aus:
Titel
Mannschaft 1 (HS, in dem der Nutzer ein Team und Spieler wählen muss. Es sind nicht alle Spieler für das Ergebnis mitverantwortlich, deswegen soll eine Auswahl der Spieler getroffen werden, die auch tatsächlich gespielt haben! Klappt mit HS ganz gut)
Mannschaft 2 (siehe Mannschaft 1)
Ergebnis (normales Textfeld)
Wenn ich nun versuche die Term-Struktur mit Hilfe von exposed filters zu filtern, kommt es zu Problemen.
Ich benötige einen Filter, mit dem der Nutzer nur nach den Teams kann und einen Filter mit dem er nur nach den Spielern suchen kann (unabhängig vom Wissen in welchen Team dieser Spieler ist).
Wenn ich nun einen Taxonomy-Filter erstelle, welcher Begriffs-ID mit Verschachtelungstiefe nutzt, und ich angebe, er soll nur die Terms der Ebene 0 (Teams) zulassen, werden leider immernoch alle Terms der Ebene 1 (Spieler) angezeigt (auch wenn die Filterung mit denen nicht möglich ist - kein Ergebnis!). Gleiches wenn ich nur Ebene 1 zulasse - Ebene 0 wird trotzdem angezeigt.Gibt es eine Möglichkeit an die Terms von nur einer Ebene zu kommen?
Wenn ich einen Taxonomy-Filter mit HS erstelle, ist es zwar möglich, dass der Nutzer nur auf Ebene 0 sucht, aber um nach Spielern zu filtern ist es notwendig, dass er weiß, in welchem Team ein Spieler ist, da er erst Ebene 0 auswahlen muss, dann Ebene 1. Dass soll so nicht sein. (Ganz abgesehen davon ist der HS-Filter noch sehr buggy)
Alternativ habe ich mir gedacht, kann man die Hierachie durch eine Node-Term Verbindung simulieren, wobei die Node das Team ist (neuer Content-Typ: Team) und die Terms die Spieler sind. Hierbei gibt es ein anderes Problem:
Ich kann zu Beginn alle Mannschaften erstellen und jeder Mannschaft ihre Spieler hinzufügen. Kein Problem soweit.
Wenn ich nun allerdings in meinen Content-Typ "Ergebnis" gehe, um ein neues Ergebnis einzutragen und ein Team auswähle (Node Reference), wie kann ich im nächsten Schritt nur die Spieler zur Auswahl zulassen, die diesem Team auch zugeordnet sind? Soweit ich das Überblicke gar nicht. Richtig? Korrigiert mich, wenn es möglich ist.
Wenn es möglich ist, wäre es super, denn dann wäre das Filtern wieder ganz leicht möglich da ich einmal nach Nodes filtern kann und einmal nach Spielern.
Umfang des Projekts sind derzeit 50-60 Mannschaften á 8-12 Spieler (von denen maximal 4 ausgewählt werden dürfen).
Ich hoffe ich hab das alles relativ klar dargestellt. Ist bissel kompliziert zu beschreiben, bin auch noch relativ neu bei Drupal.
Helft eurem Drupaletics-Volontär ;)
viele Grüße
Dennis
- Anmelden oder Registrieren um Kommentare zu schreiben
Modul "Faceted Search"
am 05.03.2010 - 15:46 Uhr
Für komplexere Suchabfragen ist das Modul Faceted Search zu empfehlen. Vielleicht ist das ja was Passendes. (Dort lohnt auch immer ein Blick auf die "Related Modules".)
Teams kannst du zwar mit Taxonomie realisieren, aber die einzelnen Spielernamen wohl eher nicht. Überleg mal, ob entsprechende CCK-Felder nicht die bessere Lösung sind.
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Nettes Suchemodul, hilft mir
am 07.03.2010 - 17:47 Uhr
Nettes Suchemodul, hilft mir bei meinem Problem aber nicht wirklich weiter. Ich find nirgends eine Möglichkeit ein Suchfeld zu generieren, welches mir nur die Begriffe von Ebene 1 (Spieler) ausgibt. Immer nur das ganze Vokabular. Ein exposed filter für Views wäre mir im übrigen auch lieber.