Mit Tutorial 3 hast du eine eigene Datenbanktabelle, einen eigenen Controller und eigene Eingabemöglichkeiten im Backend entwickelt. Damit hast du schon einiges erreicht. Ich Gratuliere! Sicher fallen dir viele weitere Anwendungen ein, die du mit diesem Wissen erstellen kannst. Hier noch eine Zusammenfassung der Grundbewegungen einer Silverstripe-Entwicklung.
Ein eigener Page-Typ 1
Ein eigener Page-Typ ist auch immer eine eigene Klasse. Dateiname und Klassenbezeichnung müssen identisch sein. Dateiname: MeinePage.php muss fogendermassen aufgebaut sein:
<?php
class MeinePage extends Page {
}
class MeinePage_Controller extends Page_Controller {
}
Ein eigene Datenbank 1
Die Datenbank wird in wenigen Zeilen erstellt.
static $db = array(
"RightBarTitle" => "Varchar(100)",
"RightBarContent" => "HTMLText"
);
Mit dem URL-Zusatz: meinedomain.ch/dev/build
Die Datenbank von Silverstripe aktualisieren
Eigene Eingabefelder (Controller) im Backend 2
Die Methode 'getCMSFields()' bringt deine Datensätze ins Backend und macht diese bewirtschaftbar. Mit $fields->addFieldsToTab erstellst du die beiden Eingabefelder vom Typ new TextField und new HTMLEditorField, für die bewirtschaftung der Datenbank über das Backend.
Anwenden des neuen Page-Typs 3
Wenn du das Backend aktualisiert hast, steht dir dein neuer Page-Typ zur Auswahl, wenn du eine neue Seite erstellst. Bestehenden Seiten kannst du unter dem Reiter "Verhalten" den gewünschten Pagetyp zuweisen.
Trennen der Anzeige für die verschiedenen PageTypen 4
Damit kannst du für jeden Pagetyp ein individuelles Layout erstellen.
Auch wenn du NUR aus gestalterischen Gründen einen eigenen Pagetyp möchtest, erstelle den ansonsten leeren Controller (RotePage.php) und die dazugehörige Ausgabedatei (RotePage.ss).
Nun kannst du die ss-Datei mit deinen gewünschten CSS-Selektoren versehen und in der CSS-Datei deine zusätzlichen Stile definieren.
Mit eigenen PHP-Platzhaltern den eigenen Datensatz anzeigen 5
Die beiden Spalten-Bezeichnungen deiner Datenbank RightBatTitle und RightBarContent kannst du nun in der Datei RightBarPage.ss als PHP-Platzhalter $RightBatTitle und $RightBarContent benutzen. Deine Stile kannst du in eine CSS-Datei schreiben.