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

Eigenen Seiten-Node-Type definieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Neben der Erweiterung vorhandener Knotentypen können auch eigene Typen definiert werden. Für einen bestimmten Inhaltsbereich werden Sie hier einen eigenen Seitentyp definieren.

Transkript

Bisher sehen sie hier auf der linken Seite in unserem Node-Tree hauptsächlich Nodes vom Typ "Page". Für unsere Länder wollen wir allerdings einen eigenen Typ definieren, um hier dann für das Templating oder zum Beispiel durch Ergänzungen von weiteren Eigenschaften Anpassungen vornehmen zu können. Die Idee ist, wir wollen also ein Typ Land definieren, der für alle unsere Länder verwendet wird. Hierzu ergänzen wir einen eigenen NodeType und benötigen dafür unseren Editor. Wir rufen die Datei "NodeTypes.yaml" auf und ergänzen hier unseren neuen Typ. Der Typ soll lauten "NeosTraining.Website" und den Namen "Land" tragen. Ableiten kann man einen Typ von einem oder mehreren Supertypes, in unserem Fall wollen wir den Supertype "TYPO3.Neos:Document" verwenden. Für das User Interface, hier unser Back-End in Neos, wollen wir einen Label definieren. Das soll "Land" lauten und natürlich soll in unserem "Land" auch noch Inhalt gespeichert werden. Hierbei handelt es sich um Kindknoten, sogenannte childNodes. Den Hauptbereich wollen wir "main" nennen, wie dies auch bei Seiten der Fall ist. Und diese dürfen vom Typ "TYPO3 Content Collection" sein. Damit ist unser Typ definiert, weiter geht es mit Typoscript. Hierzu wechseln wir unterhalb von "Resources", "TypoScript" in die Roots.ts2-Datei. Wir können das TypoScript für unser Land entweder hier direkt ergänzen oder dies in eine separate Datei auslagern. Da wir als Vorlage für "Land" Page verwenden wollen, müssen wir dieses unterhalb dieser Page-Angabe tun. Wir wechseln also ganz nach unten und includen dort eine zusätzliche Datei. Diese nennen wir "Land.ts2" und müssen eine leere Datei im Verzeichnis anlegen. In dieser Datei können wir das Land spezifisch für TypoScript ergänzen. Wir beginnen bei "root.Land". Ob der Inhalt wirklich von unserem Landtyp ist und hier ein entsprechendes Rendering erfolgen soll, gibt eine Condition vor. Diese prüft ab, ob unser "q(node)" eine Instanz ist, von "NeosTraining.Website", und zwar vom Typ "Land". Ist dies der Fall, soll der Render-Pfad für "Land" verwendet werden. Wir geben hier also den Render Path an, ab der oberen Ebene "/land". Fügen wir nun also "Land" hinzu. "Land" erbt Eigenschaften von Page und wird dann noch um abweichende Konfigurationen ergänzt. Wir haben hier einen Head-Bereich und einen Body-Bereich. In beiden müssen wir jetzt als erstes auf unser Template verweisen. Das Metadaten-Template kommt aus "landTemplate"" Und auch die weiteren Bereiche, wie zum Beispiel die Style Sheets sind in unserer Template-Datei vorhanden. Wir ergänzen noch den Bereich "'javascripts" Dieser existiert analog dann auch im Body. Für den Body müssen wir ebenfalls den Template Path umsetzen auf "landTemplate". Sie werden sich vielleicht wundern, warum wir hier immer auf das gleiche Template verweisen. Dies sind einzelne Sections, die sich in einem Template-File befinden. Entsprechend laden die Teile im Head oder Body einzelne Teile aus unserer Template-Datei. Wie müssen jetzt noch\"landTemplate " hinzufügen. landTemplate ist eine Resource, und zwar aus dem Paket "NeosTraining.Website" aus dem Bereich "/Private/Templates/Page/" und dort aus der Datei "Land.html". Fast fertig. Es fehlt jetzt noch der Inhaltsbereich unserer Landesseite. Wir ergänzen hier ein "content.main", in dem dann der Inhalt unserer Content Collection dargestellt wird. Das verwendete Objekt heißt hier "PrimaryContent" und wir müssen angeben, von welchem Knoten auf unserer Seite entsprechend der Inhalt geladen wird. Wir geben hier also einen "nodePath" an. Der Inhalt steht in "main" und fertig ist der TypoScriopt für den Typ "Land". Weiter geht's mit den Templates. Wir wollen hier als Ausgangspunkt unser Standard-Template verwenden, kopieren dies daher, fürgen es in das Verzeichnis ein und benennen die Datei um zu "Land". Abweichend zu einer normalen Seite soll unser Land zum Beispiel keinen Teaser erhalten, das heißt, wir können diesen Block hier entfernen. weitere Anpassungen am Layout oder Ergänzungen um zusätzliche Eigenschaften kann man später noch separat vornehmen. Damit ist nun unser Typ definiert, die Ausgabe durch das Template erledigt und das TypoScript als Bindeglied dazwischen definiert. Wir wechseln ins Back-End, um die Funktionalität auszuprobieren und ein paar Seiten anzulegen. Laden wir neu und schauen, ob unser neuer NodeType verfügbar ist. Wir können hier jetzt ein Land ergänzen. Ein Land für unsere Reisen ist zum Beispiel Italien. Dies müssen wir unterhalb von "Bereiste Länder" einordnen und wollen jetzt noch ein paar weitere hinzufügen. Dies sind unsere Nodes für die Länder. In den Metadaten können wir jetzt nachschauen, dass diese vom Typ "Land" sind. Und wir sehen auch im Layout, dass hier ein Hauptbereich existiert, "main", allerdings kein Teaser-Bereich. Diesen hatten wir ja für "Land" im Gegensatz zu "Page" entfernt. Veröffentlichen wir nun noch unsere Änderungen und wir sind fertig. Unsere Länder sind ergänzt. Sie haben hier gesehen, wie Sie einen eigenen NodeType definieren, diesen von einem Supertyp ableiten können, wie Sie ein Template anlegen und TypoScript für die Verbindung erstellen.

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!