Taxonomy Trick?
am 11.11.2007 - 01:43 Uhr in
Ich habe ein nicht-hierarchisches Vokabular mit Ortsnamen. Jetzt will ich im Node-Eingabeformular zwei Eingaben ermöglichen: ein obligatorisches Dropdow-Feld, das den "Hauptwohnsitz" abfragt, dann eine optionale Mehrfach-Auswahlliste, die für etwaige "weitere Wohnsitze" zuständig ist. Die Node soll die markierten Orte beider Felder als $terms ausgeben, d.h. da sind dann wieder die Orte quasi gleichwertig.
Die Mehrfachauswahl-Liste beim Node-Edit wird ja nun vom Taxomomie-Modul erzeugt. Ich bin den "Hauptwohnsitz" mal vorsichtig mit CCK angegangen: ich habe ein CCK-Select-Field definiert und dort die Orte via taxonomy_get_tree() eingelesen. Der Ansatz ist aber, fürchte ich, falsch, denn intern resultiert das ja in einer CCK-Field-Tabelle mit den Hauptwohnsitzen einerseits und den Taxonomie-Tabellen andererseits, die natürlich nur die "weiteren Wohnsitze" erfassen.
Wollte man dem jetzt weiter folgen, müsste ich beide Eingaben vor dem Node-Submit "joinen" (damit alle Orte vom Taxomomy-Modul registriert werden) und dann aber auch wieder beim Node-Edit in Haupt- und Nebenwohnsitze separieren.
Ich will gar nicht fragen: wie? Ich frage: wo ist mein Denkfehler?
- Anmelden oder Registrieren um Kommentare zu schreiben
Du willst einfach 2 Felder
am 11.11.2007 - 01:47 Uhr
Du willst einfach 2 Felder für Hauptwohnsitz als Liste und ein optionales Feld zum freien Eingeben...da du beides als Kategorien willst ($terms) solltest du die auch als Kategorien lassen. Das Vokabular der Hauptwohnsitze einfach als Pflicht und das andere auf Free Tagging und eben optional... du brauchst nichts mit CCK zu machen.
gruß pebosi
gruß pebosi
--
https://pebosi.net
Zwei identische Vokabulare
am 11.11.2007 - 02:16 Uhr
Danke fürs schnelle Antworten, pebosi. Du meinst, ich soll zwei identische Vokabulare haben, eines mit Hauptwohnsitzen und ein zweites mit Nebenwohnsitzen? (Es handelt sich um kontrollierte Vokabulare - kein Free-Tagging)
Dann aber werden für einen Ort die Haupt- und Nebenwohnsitze getrennt gelistet. Das will ich nicht: alle Kölner (egal, ob Haupt- oder Nebenwohnsitz) sollen beim Begriff "Köln" via Taxonomie angezeigt werden.
Immer noch ratlos
am 18.11.2007 - 01:27 Uhr
So richtig bin ich eigtl. immer noch nicht weitergekommen. Ich kann ja fast nicht glauben, dass es hier auf DC keine Taxonomy-Experten gibt - also: falls mein Problem wirklich ein Expertenthema sein sollte, was ich ja gar nicht glauben kann. Trotzdem steh' ich auf der Leitung.
Ich habe inzwischen testweise einmal ein multiples Vokabular mit zwei Hauptästen angelegt: Hauptwohnsitz, Nebenwohnsitz. Darunter jeweils dieselben Orte angelegt zu haben, war schon ein redundantes Unvergnügen. Bei der Eingabe dann (die auch nicht schön aussieht, da beide Bäume in einer select box einfach abgebildet werden) habe ich bei Hauptwohnsitz einen Ort auswählen können und drei weitere beispielhafte Orte als Nebenwohnsitze. Das schien bei Eingabe und Abspeichern zu funktionieren. Auch in der Liste dann das gewünschte Verhalten! Aber beim Wiederladen des Formulars werden in beiden Ästen dann alle Orts-Terms als ausgewählt angezeigt, d.h. der Hauptwohnsitz wurde als solcher gar nicht registriert. Das ist also der falsche Ansatz, da ja, wie mir jetzt klar wird, in der multiplen Taxonomy lediglich mehrere Parents eines Terms möglich sind, aber keine Gewichtung.
Da steh ich also, auf meiner Leitung. Ich denke jetzt, falls Ihr auch nichts anderes seht, dass es wohl nicht viel anders gehen wird, als dass zusätzlich zur Taxonomie noch eine Gewichtungstabelle mit den Feldern $tid und $uid nötig ist, die die Zusatzinformation des Hauptwohnsitzes ausdrückt. Das Abfrageresultat des CCK-Fields (das kann es ja ruhig sein) müsste dann also in das Bearbeitungsformular und das Template in der gewünschten Form injiziert werden.
Habe ich nicht doch was übersehen?