Webpartner Homepage mit SilverStripe


Da wir mit dem bisherigen System (Joomla!) aufgrund von
zahlreichen Einschränkungen nicht zufrieden waren und wir neuerdings sehr
positive Erfahrungen mit dem Open-Source-CMS SilverStripe gemacht hatten,
beschlossen wir, auch den Kern unserer Firmen-Homepage auf SilverStripe
umzustellen.
In diesem Blog-Eintrag wird beschrieben, wie leicht es ist, eine bereits bestehende Seite auf SilverStripe umzustellen. SilverStripe-Anfängern sei in jedem Fall geraten, mit den gut gemachten Tutorials auf der SilverStripe-Homepage zu beginnen:
http://doc.silverstripe.org/tutorial:1-building-a-basic-site
Man braucht nicht lange, um es durchzuarbeiten und kommt schnell ins produktive Arbeiten.
Doch weiter mit dem Überblick: Zunächst lädt man sich die aktuelle Version direkt auf den Entwicklungsserver herunter, etwa so:
wget http://SilverStripe.org/assets/downloads/SilverStripe-v2.4.1.tar.gz
anschließend entpackt man das Paket wie folgt
tar xfvz SilverStripe-v2.4.1.tar.gz
Alle Dateien innerhalb des erzeugten Ordners SilverStripe-v2.4.1 sollten dann in das Webroot-Verzeichnis des Entwicklungsservers kopiert oder verschoben werden.
Damit SilverStripe installiert werden kann sollte man dafür sorgen, dass folgende Dateien und Ordner für den Webserver beschreibbar sind (mit chown oder chmod):
assets
(inkl. Unterordner)
mysite/_config.php
.htaccess
Anschließend einfach mit dem Browser die URL des Entwicklungs-Servers aufrufen und es erscheint eine Seite, auf der SilverStripe anzeigt, ob bereits alle Erfordernisse für die Installation erfüllt sind. Nachdem man gegebenenfalls fehlendes ergänzt hat (z.B. die Datenbank-Einstellungen) kann der Install-Button angeklickt werden und nach wenigen Sekunden hat man ein lauffähiges SilverStripe-System.
Im gewählten Theme (blackcandy oder tutorial) kann nun die Basis-Template-Datei (Page.ss) bearbeitet werden. Am einfachsten ist es, den kompletten HTML-Code des Templates (mit Ausnahme der require-Statements im Head) durch das HTML der umzusetzenden Seite zu ersetzen um dann nach und nach SilverStripe-Logik einzubauen.
Natürlich wird man zunächst nicht viel sehen, da CSS und Images fehlen. Bisheriges CSS sollte das CSS in themes/gewaehltestheme/layout.css ersetzen, und Images sollten in den Theme-Image-Ordner kopiert werden. Die Image-Pfade im Template können dann so angepasst werden:

Und im css-Ordner so:
../images/imagename.jpg
Es ist natürlich jederzeit möglich, ein Theme (-Ordner) umzubenennen oder ein neues zu erzeugen. In der Datei mysite/_config.php kann das zu verwendende Theme folgendermaßen angegeben werden
SSViewer::set_theme('themename');
SilverStripe geht allgemein davon aus, dass nur Programmierer an den kritischen Stellschrauben des Systems drehen sollten und bietet im CMS fast keinerlei Einstellungs-Möglichkeiten an. Das muss jedoch kein Nachteil sein, da die Möglichkeiten, die man vor allem durch Angaben in der _config.php hat, sehr umfangreich und auch gut kommentiert sind.
Durch „Zerschneiden“ des Page.ss –Templates in Teile (Footer, Header, Navigation, Content) gelangt man recht zügig an den Punkt, an dem der Einbau von Logik erforderlich wird (etwa für das Menü, das ja dynamisch anhand der im CMS angelegten Seiten erzeugt werden soll).
Hier bietet SilverStripe dem Programmierer mit dem eingebauten MVC-Framework Sapphire sehr viele Möglichkeiten. So können auch komplexe Zusammenhänge auf einfache Art und Weise durch PHP-Klassen abgebildet werden, die von SilverStripe automatisch in MySQL-Tabellen übersetzt werden.
Auch der intuitiv zu bedienende CMS-Admin-Bereich ist ein Pluspunkt, der unsere Kunden überzeugt. Hinzu kommen die schnelle Erweiterbarkeit, die einen Agilen Entwicklungsansatz begünstigt. Es soll Leute bei Webpartner geben, die ganz heiß auf neue SilverStripe-Projekte sind.