Beziehungen zwischen Inhalten - Das Modul Node Relationships
Ich habe oft damit zu tun die Beziehungen zwischen Inhalten (Beitragsbeziehungen) zu visualisieren. Manchmal benutze ich Blöcke als Views mit Parametern, manchmal binde ich Views in Node Templates ein und so weiter. Ein anderes Problem ist oft die Art der Beziehung. Manchmal gibt es Beziehungen hin- und zurück (zwei Beitragsbeziehungen), manchmal nicht (eine Beitragsbeziehung). Aber ich will Sie mit diesen Dingen nicht langweilen ...
Ich habe ein tolles Modul gefunden, das mir hilft meinen Job zu erledigen und deswegen schreibe ich diesen Artikel: noderelationships.
Die Aufgabe: Wer macht was mit wem?
Wir haben drei Gruppen: Personen, Partner and Projekte
Wir wollen eine Website mit ein paar Beziehungen
Eine Person:
- ist eingebunden in ein oder mehrere Projekte
- arbeitet für einen oder mehrere Partner
Ein Partner (normalerweise eine Firma oder ein NGO):
- ist eingebunden in ein oder mehrere Projekte
A Projekt
- hat einen Partner als Lead Partner
- hat eine Person als Projektleiter
Wir brauchen Listen von:
- Personen
- Projekten
- Partner
Wir brauchen Seitenansichten für
jede Person
- Name
- eingebunden in Projekt a,b, c
- arbeitet für Partner d,e,f
- ist Projektleiter in Projekt a, b, c
jeder Partner
- Name
- beschäftigt Person a, b, c
- ist eingebunden in Projekt a, b, c
- ist Lead Partner von Projekt a, b, c
jedes Projekt
- Name
- Lead Partner
- Projektleiter
- Partner
- Personen
Hier ist eine Idee für eine Lösung mit dem Modul noderelationships
Ausser dem noderelationships Modul braucht man eine Drupal Installation und die cck, views, modalframe, jquery_ui Module. Ich benutze auch das admin_menu Modul.
Inhaltstypen
Wir erstellen einen Inhaltstyp für jede Gruppe (person, project and partner).
Anmerkung: Die Screenshots stammen aus dem englischen Artikel und sind nicht lokalisiert.
Node Beziehungsfelder
Wir müssen für jeden Inhaltstyp Beziehungsfelder anlegen
- Partner
field_project(unbegrenzte Werte)
- Person
field_project(unbegrenzte Werte)
Das Feld existiert bereits, also können wir es wiederverwenden

field_partner
- Project
field_projectcoordinatorfield_leadpartner
Beitragsverbindungen (Node relationship)
Jetzt können wir das Node Relationships Modul benutzen.
Im Änderungsformular der Inhaltstypen gibt es ein zusätzliches Tab Beziehungen (Relationships).
Der erste Eindruck ist dieses wunderbare Entity Relations Diagramm. Es wird automatisch vom Node Relationsships Modul erzeugt und zeigt alle Beziehungen (von und nach) des Inhaltstyps partner.
Hinter dem zweiten Tab (Node reference extras) findet man die Beziehungsfelder (reference to fields). Sie können das Verhalten dieser Felder im Änderungsformular des partner Inhalts (Nodes) hier einstellen. Um komfortabel Beziehungsinhalte zu suchen, können Sie hier auch einen View angeben. Sie können eigene Views erstellen, indem sie den vordefinierten noderelationships_noderef View (Ansicht) klonen (duplizieren). Der geklonte View erscheint dann in der Optionsliste. In unserem Fall benutze ich den standard table style view. Wenn Sie die Checkbox Create and reference ankreuzen ist es möglich innerhalb des partner Änderungsformulars einen neuen project Inhalt zu erstellen und eine Beziehung herzustellen.
Das hört sich alles ein wenig theoretisch an, daher mal ein Bild vom Partner Änderungsformular mit dem project Beziehungsfeld. Die Benutzer können Beziehungeninhalte über den üblichen Weg per autocompletion finden und zuweisen. Die coolen icons auf der rechten Seite des Feldes sind ein Teil des node relationsships Moduls.
Nach einem Klick auf diese Icons öffnet sich ein Popup Fenster. Abhängig vom Icon ist es eine Auswahlliste (die man in den Einstellungen austauschen kann) mit einem Suchfilter oder ein Hinzufügen Formular (add form) fü ein neues Projekt.
Mit diesen Tools ist es wirklich einfach Beziehungen zu setzen.
Das dritte und letzte Tab enthält die Back reference settings. Hier können Sie einstellen, wie Beziehungen von anderen Inhaltstypen in diesem Inhaltstyp angezeigt werden. In unserem Fall gibt es Verbindungen aus dem Person und dem Project Inhaltstyp.
Im nächsten Screenshot sieht man die Verweise (backreferences) aus dem Inhaltstyp Person.
Das war's :-)
Ergebnis
Mit dem Node Relationships Modul ist es sehr einfach Beziehungen zwischen Inhalten zu organisieren. Spielen Sie einfach ein wenig damit herum um zu sehen, wie einfach es ist!
Die Ergebnisse können Sie auch auf eu.cocoate.com ansehen.
Ich habe oft damit zu tun die Beziehungen zwischen Inhalten (Beitragsbeziehungen) zu visualisieren. Manchmal benutze ich Blöcke als Views mit Parametern, manchmal binde ich Views in Node Templates ein und so weiter. Ein anderes Problem ist oft die Art der Beziehung. Manchmal gibt es Beziehungen hin- und zurück (zwei Beitragsbeziehungen), manchmal nicht (eine Beitragsbeziehung). Aber ich will Sie mit diesen Dingen nicht langweilen ...Ich habe ein tolles Modul gefunden, das mir hilft meinen Job zu erledigen und deswegen schreibe ich diesen Artikel: noderelationships.Die Aufgabe: Wer macht was mit wem?Wir haben drei Gruppen: Personen, Partner and ProjekteWir wollen eine Website mit ein paar Beziehungen















2 Kommentare
Tabs
Referenced from wird ja schon
Kommentar hinzufügen