Konzeption von Inhaltstypen: Taxonomie vs. Inhaltstyp vs. Feld "Liste"
am 01.12.2015 - 10:51 Uhr in
Hallo!
Meine Frage bezieht sich auf die Art und Weise, wie ich am besten ein bestimmtes Szenario mit Inhaltstypen in Drupal umsetze.
Wenn ich beispielsweise Stellenanzeigen erstellen möchte, generiere ich dafür einen neuen Inhaltstypen mit den entsprechenden Feldern. Da jede Stellenanzeige auch von jemandem erstellt wird und ich die Angaben des Arbeitsgebers (Name, Anschrift, etc.) mit in die Anzeige aufnehmen möchte, benötige ich dafür auch Felder. Jetzt könnte ich die benötigte Felder mit in den Inhaltstypen Stellenanzeige aufnehmen.
Ich würde das aber gerne dynamischer umsetzen, indem ich im Inhaltstyp Stellenanzeige auf einen neuen Inhaltstypen Unternehmen verweise. Dort kann jeder seine Daten eintragen und da sich im Inhaltstyp Stellenanzeige eine Referenz auf Unternehmen befindet, müssten die Daten automatisch aktualisiert werden, sobald bei Unternehmen etwas geändert wird. Ist das richtig?
Wenn ich bei Unternehmen die eingetragenen noch nach Branche kategorisieren möchte, wie würde das aussehen? Die Branchen können sich nachträglich noch ändern, indem weitere aufgenommen werden. Ist das ein typischer Anwendungsfall für Taxonomien oder würdet ihr für "Branche" einen neuen Inhaltstypen erstellen? Mein erster Versuch war die Erstellung eines Feldes "Liste", wobei das Problem ist, dass man die Werte da nachtäglich nicht ändern oder ergänzen kann. In Unternehmen würde ich in beiden Fällen einen entsprechenden Verweis zum Inhaltstyp oder zum Vokabular aufnehmen.
Mir erschließt sich auch der Unterschied bzw. die Vorteil von Taxonomien und Inhaltstypen in dem Fall nicht. Setzt man Taxonomien ein, wenn man quasi nur eine Liste benötigt und Inhaltstypen, wenn mehrere Eingabefelder benötigt werden? Was ist der Unterschied zwischen Taxonomie und dem Feld "Liste"? Wird die Liste benötigt, wenn von vorneherein klar ist, welche Einträge vorhanden sind und diese nicht mehr geändert werden können?
edit: Nach "Branche" sollte im Nachhinein auch gesucht bzw. gefiltert werden können.
Wenn ich ganz falsch an die Sache herangehe, bin ich auch für andere Lösungsmöglichkeiten offen.
Vielen Dank schonmal!
Gruß
Heiko
- Anmelden oder Registrieren um Kommentare zu schreiben
Du gehst vor, wie bei der Entwicklung einer Datenbankanwendung
am 01.12.2015 - 11:22 Uhr
Drupal ist ein Datenverwaltungstool mit hochrelationalem Aufbau.
Generell solltest du bei strukturierten Daten so vorgehen, wie du es bei einer Datenbankentwicklung auch tun würdest.
Stichwort "Normalisierung".
Wenn du dann deine Datenstrukturen entwickelt hast, legst du die Verknüpfungen mit entity_reference_fields an - dies entspricht einem Fremdschlüssel.
Daraus ergeben sich Entities für Firmen, Anzeigen, Jobs, Interessenten etc., die du dann gezielt mit views (Datenbankansichten) selektieren und anzeigen kannst.
Grüße
Ronald
Hallo! Danke für die schnelle
am 01.12.2015 - 11:29 Uhr
Hallo!
Danke für die schnelle Antwort.
Wie sieht es denn insbesondere mit obigem Beispiel der Branche aus?
Branche benötigt nur eine ID und den Namen. Lohnt es sich dafür, einen eigenen Inhaltstypen anzulegen, bei dem die Eintragung der einzelnen Branchen ziemlich umständlich ist oder benutzt man dafür lieber Taxonmien?
Mein erster Versuch war ja die Erstellung eines Feldes "Liste aus Ganzzahlen", da in der DB nur die Zahlen gespeichert werden müssten, die der einzelnen Branche zugeordnet ist (1 = Automobil, 2 = Agrarsektor etc.). In dem Fall könnte ich nachträglich aber keine weiteren Branchen mehr aufnehmen. Daher meine Frage, was sich eurer Erfahrung am besten dafür eignet.
Gruß
Heiko
In jedem Einzellfall
am 01.12.2015 - 13:06 Uhr
musst du selbst prüfen, ob du etwas als Liste, Taxonomy oder Entity anlegen willst.
Etwas, was niemals verändert werden wird, oder höchst unwahrscheinlich, kann als Liste angelegt werden.
Ein sehr einfache Struktur legt man als Taxonomy an, und komplexere Strukturen als eigene Entity/node_type=content_type.
Intern wird Taxonomy genauso behandelt mit eine andere entity-reference.
In den Refernzfeldern werden tatsächlich nummerische Werte abgelegt. Aber du musst dich nicht darum kümmern.
Du legst ein feld vom type entity_reference oder taxonomy_reference an, den Rest macht Drupal für dich.
Du musst nur noch angeben, aus welchem Set (entity_type oder taxonomy_catalog) die Liste erzeugt werden soll.
Grüße
Ronald
Also fällt im Fall von
am 01.12.2015 - 22:26 Uhr
Also fällt im Fall von "Branche" die Liste weg, da ich sie nicht ggf. ergänzen kann.
Da ich nur ein Feld pro Eintrag benötige (den Namen der Branche) wäre ein Inhaltstyp überdimensioniert und schlechter einzutragen.
Bleibt also Taxonomie für mein Problem. Siehst du das auch so?
Kann ich die IDs der einzelnen Begriffe bei einer Taxonomie manuell vergeben, wenn intern numerische Werte abgelegt werden? Das geht wiederum gut bei der statischen Liste...