Diese Anleitung erklärt die Zusammenhänge im Umgang mit Themes und auch alle notwendigen Schritte, um ein eigenes Backend-Theme zu erstellen.
In allen früheren WebsiteBaker-Versionen musste jedes Theme sämtliche Templatedateien(*.htt) enthalten. Wurde von Core-Seite her eine größere Änderung vorgenommen oder gar ein neues Template eingefügt, musste das zwangsweise in sämtlichen, existierenden Themes nachgepflegt werden. Die mit WebsiteBaker v.2.8.3 eingeführte, neue Overwrite-Technik kann diese ganzen Anpassungsarbeiten unter Umständen weitestgehend überflüssig machen. Ein Theme muss nur noch jene Templatedateien enthalten, die sich von der jeweils korrespondierenden Datei im Default-Template-Pool unterscheiden. Bei der Ausgabe wird, bei fehlenden Templatedateien, automatisch auf die Dateien des Default-Template-Pools zurückgegriffen.
Achtung:
Da unter Umständen viele verschiedene Themes auf den Default-Template-Pool des Cores zugreifen, darf/sollte dieser nicht geändert werden. Er wird auch bei jedem Update komplett mit aktualisierten Dateien überschrieben.
Da das manuelle Handling der Themes relativ komplex ist, wurden Teile der Theme-Verwaltungsfunktionen aus der nächsten, größeren WB-Version zurückportiert um den Umgang mit Themes zu vereinfachen. Dadurch kann jetzt, im Gegensatz zu früher, ein neues oder ein abgewandeltes Backend-Theme rein mit den Bordmitteln von Websitebaker und dem installierten Zusatzmodul AddonFileEditor erstellt werden. Der einfachste Weg, ein eigenes Theme zu erstellen, ist ein bereits vorhandenes, funktionierendes und ähnliches Theme an die eigenen Wünsche anzupassen.
Nichts einfacher als das. Einfach im Backend das gewünschte Theme als aktuelles Theme auswählen und aktivieren. Dadurch ist auch gleich sichergestellt, dass man auf einem sicher funktionierenden Theme aufbaut.
Im nächsten Schritt wird im Backend die Seite 'Erweiterungen' geöffnet und dort dann die 'erweitert'en Funktionen aktivieren. Auf der unteren Hälfte des Bildschirms werden jetzt die erweiterten Funktionen sichtbar. Im Abschnitt 'Backend-Theme kopieren' wird zur Sicherheit noch einmal der Name des aktuell aktiven Themes, das ja als Vorlage dienen soll, angezeigt. Jetzt braucht nur noch der Anzeigename des zukünftigen Themes in das Feld 'Name des neuen Themes' eingegeben und auf den Button 'Kopieren' geklickt zu werden.
Es werden sämtlich, zum aktiven Theme gehörenden Verzeichnisse und Dateien 1:1 kopiert. Auch wird die 'info.php' des Themes automatisch angepasst und das Theme in WebsiteBaker registriert. Sobald diese Aktionen erfolgreich abgeschlossen wurden, wird das neu erzeugte Theme automatisch aktiviert. Tritt während des Vorganges ein Fehler auf, so werden sämtliche bereits erfolgten Aktionen automatisch rückgängig gemacht und das System hat wieder seinen ursprünglichen Zustand.
Zusätzlich zu den allgemeinen Fehlermeldungen können erweiterte Fehlermeldungen aktiviert werden, indem in der '/config.php' die Konstante DEBUG auf true gesetzt wird.
Nach diesen wenigen Mausklicks ist es bereits jetzt schon möglich, das aktuelle Theme mittels des AFE zu ändern. Ruft man die zu ändernden Masken dann gleichzeitig in einem eigenen Fenster/Tab auf, hat man per [F5] sogar eine sofortige, direkte Kontrolle über die erfolgten Änderungen. Der Upload / Austausch von Grafiken, Javascripts etc. kann ebenfalls durch den AFE erfolgen. Man arbeitet praktisch direkt im aktiven Theme, was zugegebenermaßen ein gewisses Mass an Vorsicht und Voraussicht erfordert. Sollten einmal alle Stricke reißen und sich jemand sein aktuelles Theme komplett zerstören, so genügt ein einfacher Aufruf der upgrade-script.php um das System auf das Default-Theme zurückzusetzen und wieder in einen lauffähigen Zustand zu versetzen.
In den meisten Fällen genügt die Anpassung der header- und footer-Templates sowie des CSS um dem Theme eine neue Optik zu geben. Sollen zusätzliche Templates geändert werden, die jedoch im aktuellen Theme nicht explizit vorhanden sind, so können diese im Abschnitt 'Templatefiles importieren' einfach ausgewählt und aus dem Default-Templatepool des Core in das aktuelle Theme importiert werden.
Selbstverständlich können Themes auch wie bisher per FTP heruntergeladen, bearbeitet und wieder hochgeladen werden. Jedoch wird hier dringend von der Nutzung des FTP abgeraten, wenn der Webserver(Apache) als apache_modul läuft. Durch die unterschiedlichen Besitzrechte können viele Verwaltungsfunktionen von WebsiteBaker gestört werden.
[ ... dieser Abschnitt folgt in Kürze... ]