Mehrfachverwendung von Content Type Fields
am 03.02.2016 - 19:22 Uhr in
Es gibt 3 Inhaltstypen bei denen für einige Felder "Mehrfachverwendung" angebracht wäre:
- Standort / Getlocation
- 5 Felder mit Referenz auf die gleichen Taxonomie Begriffe
- einige Infofelder
Unterscheiden tun sich die Inhaltstypen dann in:
- Kalender 1 x ja, 2 x nein
- weitere unterschiedliche Felder mit eigenen Taxonomien die zum Inhaltstyp passen
- Images Fields sind alle unterschiedlich, da gesonderte Rechte usw.
Wie geht man am besten vor, ist es sicherer jedes Feld einzeln anzulegen oder funktioniert es auch mit teils Mehrfachverwendung, auch mit Berücksichtigung auf ein späteres Drupal 8 Update?
Dazu kommt noch das die Mehrfachfelder je nach Content Type nur von verschiedenen Rollen bearbeitet werden dürfen.
Grüße Jenna
- Anmelden oder Registrieren um Kommentare zu schreiben
Niemand hier der auch
am 12.02.2016 - 09:09 Uhr
Niemand hier der auch Mehrfachfelder nutzt oder habe ich es zu kompliziert geschrieben?
Vereinfacht: einige Felder bieten sich an für Mehrfachnutzung in 3 Content Types, andere Felder eher nicht da unterschiedliche Rollen /Berechtigungen pro Content Type existieren.
Kann man hier Mehrfachnutzung für einige Felder einsetzen oder besser darauf verzichten?
Wäre super wenn jemand eine Info dazu hätte.
Grüße Jenna
In einigen Fällen ist die
am 12.02.2016 - 10:49 Uhr
In einigen Fällen ist die Mehrfachverwendung von Feldern sogar zwingend: Wenn Du in einem View über ein Feld (Feldinhalt) filtern willst, muß das Feld identisch in den abgefragten Inhaltstypen sein. Auch wenn unterschiedliche Daten im Kalender eingetragen werden sollen, muß das verwendete Datumsfeld identisch sein (hinter dem Kalender liegt ein View).
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Was heißt Mehrfachverwendung
am 13.02.2016 - 16:04 Uhr
Beim Lesen habe ich mich gefragt, was du mit Mehrfachverwendung meinst.
meinst du
zu 1. Das ist trivial. Beim Feld wird eingestellt, dass es sich wiederholt. Das wirkt sich aber auch auf den Fall 2 aus!.
zu 2. Die Felder heißen gleich, haben aber verschiedene Inhalte und können Inhalte nicht teilen. Grundlegende Eigenschaften sind identisch (siehe Block fieldname field settings am Ende der Edit-Seite), andere Eigenschaften können unterschiedlich sein (z.B. Widget type). Lass dich nicht von der Seite Field settings beeinflussen, die hat nur die halbe Wahrheit (die ganze Wahrheit findest du wie beschrieben am Ende der Edit-Seite).
zu 3. Diesen Fall hast du z.B. bei Taxonomiebegriffen, die du einmal nur in einer Ausprägung hast und einmal in mehrfacher Ausprägung. Dann kommst du nicht drum herum.
In Drupal 7 kannst du Felder (á la 2.) auch über Bundles aus verschiedenen Entity-Types teilen, in Drupal 8 geht das nicht (nur noch Bundles eines Entity-Types). Das musst du berücksichtigen. Dort müssen Maschinennamen nur noch innerhalb des Entity-Types eindeutig sein (das siehst du, wenn du in die Datenbank schaust: in Drupal 7 heißen die Tabellen field_irgendwas, in Drupal 8 z.B. node__field_irgendwas oder myentity_field_irgendwas)
Die gleichen Felder (gleiche Maschinennamen) in verschiedenen Nodes sollten unterschiedliche Rechte haben können. Zuerst einmal erben Sie die Rechte, die auf dem Beitrag liegen. Wenn du ein Modul einsetzt, das feldbezogene Rechte implementiert, hängt es vom Modul ab, ob die Rechte nur auf das Feld bezogen sind oder sich auf das Feld im Bundle oder auf das Feld im Inhalt selbst beziehen.
Noch mal zur Sprachregeleung:
Bei "Entity" weiß man nicht genau, auf was es sich bezieht, das muss man aus dem Kontext herauslesen ;)
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!
Zitat: Die Definition eines
am 13.02.2016 - 16:51 Uhr
Die Definition eines Feldes wird in mehreren Bundles verwendet
Ich habe 3 Content Types und bestimmte Felder (die schon in einem Content Type angelegt wurden) könnten in den anderen 2 Content Types wieder verwendet werden, also unter:
admin/structure/types/manage/mein-Content-Type/fields
Vorhandenes Feld hinzufügen
Das sind z.B. Fields die in allen 3 Content Types die gleiche Taxonomie nutzen oder Getlocation (Standort).
Nun darf aber nur Rolle A bei Content Type A neuen Inhalt erstellen oder bearbeiten, nicht aber bei Content Type B, umgekehrt dann das gleiche Szenerario für Rolle B und Rolle C.
Mir ist nicht klar wie Drupal hier unterscheidet, weil ich ja ein bereits vorhandenes Feld mit Rollenrechten nun noch einmal nutze in einem weiteren Content Type mit anderen Rollenrechten.
Das war meine eigentliche Frage, ob man hier vorhandene Felder nutzen kann oder sicherheitshalber besser ein neues Feld anlegt pro Content Type.
Grüße Jenna
Das ist sicher auch philosophisch zu sehen
am 13.02.2016 - 19:29 Uhr
aber rein Technisch besteht kein Grund, es nicht zu tun.
Es sorgt in der Datenbank für weniger Tabellen, was die optischen Relationen ein wenig stört.
Die Datenbank handelt das, weil in jedem verwendeten contenteintrag steht, mit welchem node, bzw welcher version dieser Feldinhalt verbunden ist.
Wenn der Typ identisch ist, und innerhalb des gleichen Nodes nich in unterschiedlichem Kontext verwendet wird, solltest du bei bestimmten Leuten vielleicht Unverständnis ernten, aber keine Probleme haben.
Grüße
Ronald
Dein Problem ist keines ;)
am 15.02.2016 - 16:16 Uhr
wenn du kein feldbasiertes Access-Modul einsetzt. Dann erben nämlich die Felder, wie ich geschrieben habe, die Berechtigungen aus dem Node.
also User mit Rolle A darf Inhalt vom Typ A anlegen/ändern, aber nicht vom Typ B, also kommt er auch nicht an die Felder im Typ B heran. Und dabei ist es egal, ob die Felddefinitionen nun geteilt werden oder nicht, da immer neue Feldinstanzen angelegt werden.. Anders sieht es aus, wenn Feldinhalte über Referenzen geteilt werden (z.B. Taxonomie-Begriffe). Aber das ist ja klar.
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!
Zitat: wenn du kein
am 22.02.2016 - 13:39 Uhr
wenn du kein feldbasiertes Access-Modul einsetzt.
Hmm, also ich nutze https://www.drupal.org/project/field_permissions, sorry, das hätte ich schon im obersten Thread erwähnen sollen.
Beispiel am Field "Images" field_images:
Field Permissions ist ganz simpel konfiguriert: (für alle anderen Felder die noch in Frage kommen gilt ebenfalls diese Einstellung)
Rolle A darf nur in Content Type A: Inhalt erstellen, eigenen Inhalt bearbeiten, ansehen
Rolle B darf nur in Content Type B: Inhalt erstellen, eigenen Inhalt bearbeiten, ansehen
Beide Rollen dürfen jeden veröffentlichten Inhalt sehen.
Rolle Admin und Rolle Contentmanager dürfen alles.
In dem Fall müßte es doch auch trotz Einsatz von Field Permissions funktionieren? oder sollte man diese Felder besser nicht mit Field Permissions ausstatten, sondern nur mit den Standardfeldrechten arbeiten
"Public (author and administrators can edit, everyone can view)"?
Grüße Jenna