Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

TYPO3 Neos Grundkurs

Node Type mit eigenen Eigenschaften und Referenzen einrichten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Für eigene Knotentypen können flexible Konfigurationen vorgenommen werden. In diesem Video fügen Sie Eigenschaften ebenso hinzu wie Verweise auf andere Knoten eines bestimmten Typs.

Transkript

In unserem System sind bereits eine Reihe von Ländern eingeflickt, die Sie hier auf der linken Seite finden. Diesen wurde ein eigener NodeTyp namens "Land" zugeordnet. Über einen solchen NodeType ist es möglich, zum Beispiel das Layout anzupassen oder Eigenschaften zu variieren. Anhand von Reiseberichten wollen wir nun die Funktionalität von separaten NodeTypes noch etwas weiter ausbauen. Und dass die Länder hier bereits in einen eigenen NodeType zusammengefasst wurden, ist uns dabei von Vorteil, wie Sie gleich sehen werden. Wir wollen die verschiedenen Reiseberichte unter den Punkt "Berichte" sammeln dann mit den entsprechenden Ländern verknüpfen und zum Beispiel auch noch Bilder hinzufügen. Ein paar Bilder haben wir bereits in der Mediengallerie hinzugefügt. Diese können wir dann gleich in unserem Inhalt verwenden. Legen wir als erstes mal den neuen Typ an. Hierzu wechseln Sie in den Editor. Dort bearbeiten wir die NodeTypes und fügen unseren neuen Typ für Reiseberichte hinzu. Wir ergänzen hierunter einen Blog, den ich bereits schonmal vorbereitet habe. Unser neuer Typ heißt in diesem Fall "NeosTraining.Website:Bericht". Der Supertyp, also das, wovon wir erben wollen, ist in diesem Fall ein "Document". Im Back-End soll als Label "Reisebericht" erscheinen. Und unterhalb dieses Reiseberichts haben wir childNodes vom Typ "main", was eine Inhaltssammlung ist, und die Möglichkeit, Teaser-Texte hinzuzufügen. Hier wollen wir dann allerdings nicht alle Inhaltstypen erlauben, sondern nur Elemente vom Typ "Text". So ähnlich kennen Sie dies bereits von unserem Typ "Land", allerdings wollen wir das Beispiel noch etwas ausbauen. Wir schaffen uns hier unten erst einmal ein bisschen Platz, um nämlich noch ein paar Ergänzungen vorzunehmen. Wir wollen an dieser Stelle zu unserem neuen NodeType noch ein paar Erweiterungen hinzufügen. Und zwar zusätzliche Einstellmöglichkeiten für einen Bericht, die über ein reines Dokument, wie es TYPO3 Neos standardmäßig definiert, hinausgehen. Wir wollen zusätzliche Eigenschaften, sogenannte "Properties" hinzufügen. Diese geben wir hier auch einfach in YAML-Notation an. Auf der selben Ebene, wie die Angabe "childNodes", fügen wir hier "properties" hinzu. Und wir wollen drei Properties ergänzen. Zum einen ein Teaser-Bild für unseren Reisebericht, dann noch einen Typ, der standardmäßig zum Beispiel "rundreise" sein kann, und eine Verknüpfung zum Land. Wir werden diese Möglichkeiten gleich noch etwas ausbauen. Allen gemein ist jeweils ein Label, sofern dieser Wert verändert wird, wollen wir automatisch auch unseren Inhaltsbereich reloaden, sodass wir die Änderungen sofort sehen. und im Inspektor, also auf der rechten Seite des Back-Ends, wollen wir unser zusätzliches Feld im Dokumentenbereich hinzufügen. Interessant sind an dieser Stelle vielleicht die Typen, auf die wir verweisen. Hier ist zum einen das Paket "TYPO3/Media" zu nennen, welches das Model für ein Bild, oder genauer, für eine Bildvariante definiert. Hierbei handelt es sich also um ein Bild, welches wir dann aus der Mediengallerie hinzufügen können. Typ ist nur ein einfacher String. Hier wollen wir noch eine Auswahlliste ergänzen. Und last, but not least: das "land", welches eine Referenz ist, und zwar hin zu unseren bestehenden Ländern. Die Angaben für die Eigenschaft "Teaser Bild" sind bereits komplett. Für den Typ wollen wir natürlich keine Zeichenkette eingeben lassen, um was für einen Typ es sich handelt, sondern wir wollen hier gerne ein Auswahlmenü haben. Entsprechend ergänzen wir ein paar Zeilen, um den Editor näher zu definieren. Es handelt sich hier um einen Editor der über eine Selectbox realisiert wird, das heißt eine Auswahlliste, und für diesen Editor werden Optionen definiert. Zum einen, wenn noch nichts ausgewählt wurde, der Platzhalter "Bitte eine Reiseart auswählen" sowie drei verschiedene Typen. Einmal so, wie der Typ in der Datenbank gespeichert werden soll, und dann so, wie er hier im Back-End mit einem Label angezeigt werden soll. Für die Ländereigenschaft brauchen wir nur noch wenige Zeilen hinzufügen. Diese haben es allerdings in sich. Denn wir wollen hier eine Referenz hinzufügen und da wir für die Länder bereits einen eigenen NodeType verwenden, können wir hier unten angeben, dass für diese Referenzen nur bestimmte NodeTypes zur Verfügung stehen, nämlich von unserem Typ "Land". Damit ist unser neuer NodeType bereits definiert und wir können abspeichern. Legen wir doch mal einen Reisebericht im Back-End an. Damit unser neuer NodeType verfügbar ist, wollen wir als erstes das Back-End einmal neu laden und dann in den Bereich "Berichte" wechseln. Unterhalb von "Berichte" wollen wir nun einen Reisebericht hinzufügen Dies soll ein Reisebericht über Amsterdam sein. Wir fügen den Bericht hinzu und ordnen ihn dann entsprechend noch unterhalb von "Berichte" ein. Ein Template haben wir bisher nicht definiert. Dies wird von "Document" geerbt. Anpassungen für die Darstellung wollen wir später vornehmen. Konzentrieren wir uns jetzt erst einmal auf die Pflege im Back-End. Wechseln wir von den Metadaten zu den Eigenschaften, finden Sie hier unser Teaser-Bild, eine Angabe über die Reiseart und die Verknüpfung zum Land. Wir wollen als erstes mal ein Bild hinzufügen. Unser Teaser-Bild wollen wir aus dem Mediabereich aussuchen. Hier wählen wir ein Bild von Amsterdam aus. Dieses könnten wir entsprechend noch zuschneiden, denn wir bearbeiten hier nicht das eigentliche Bild, sondern nur eine Image Variant, eine Varianz von dem Bild, wie wir eben definiert haben. Darunter Stellen wir ein, dass es sich hier um einen Städtetrip handelte und das Land sind die Niederlande. Sie sehen hier, dass man per Autovervollständigung aus unseren bereits angelegten Ländern auswählen kann. Diese sind vom Typ "Land". Sobald alle Eingaben abgeschlossen sind, können Sie die Änderungen hinzufügen. Übrigens das Feld für die Referenzen bietet die Möglichkeit, auch mehrere Referenzen hinzuzufügen. Sie haben hier also nicht nur die Möglichkeit, ein Land zu ergänzen, sondern auch noch ein weiteres auszuwählen. Dies ist dann zum Beispiel für unsere Reiseart "Rundreise" sinnvoll. Probieren Sie die Funktionalität doch einmal selbst aus. Fügen Sie ein paar Reiseberichte hinzu, verknüpfen Sie diese mit passenden Bildern, wählen Sie eine Reiseart und ergänzen Sie diese Verknüpfungen zu den Ländern. Auch dies haben wir schon einmal vorbereitet. Sie haben hier gesehen, wie einfach es möglich ist, einen eigenen Node-Typ um zusätzliche Eigenschaften, sogenannte "Properties", zu erweitern und Verknüpfungen einzufügen. Zum Beispiel hier auf "Bilder" über das "TYPO3 Mediamodul" oder zu anderen Elementen, wie beispielsweise hier die Referenzen zu unseren Ländern.

TYPO3 Neos Grundkurs

Entdecken Sie die Konzepte und grundlegenden Technologien des modernen Content Management Systems und sehen Sie, wie Sie eigene Projekte starten.

Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!