Ein Theme installieren
Ein neues Theme zu installieren ist einfach.
Kopiere alle Dateien des Themes in das Verzeichnis bb-templates. Im Administrationsbereich findest Du dann unter “Presentation” das neue Theme. Mit einem Klick kannst Du es dann aktivieren.
Ein neues Theme erstellen
Ein Theme besteht im wesentlichen aus 3 Dingen:
- ein Stylesheet namens
style.css - ein 300×225 Pixel grosser Screenshot Deines Themes namens
screenshot.png - …und zu guter letzt: die Template-Dateien.
Stylesheet
Ein Theme benötigt prinzipiell nur eine Datei: eine Stylesheet-Datei namens style.css. Am Anfang des Stylesheets sollten die folgenden Informationen hinterlegt sein, damit bbPress ein Theme als solches erkennt:
/* Theme Name: Der Name Deines neuen Themes. Theme URI: Die URL zu Deinem Theme. Vielleicht die Adresse des Blog-Eintrags den Du für das Theme verfasst hast? Description: Beschreibe Dein Theme. Du kannst eine nähere Beschreibung abgeben wie etwa "Das Desing ist in Blau und Grün gehalten und verfügt über 2 Spalten.". Version: Gib den Versionen Deines Themes immer Nummern. Benutze bitte nur Ziffern und den Dezimalpunkt. Author: Den Namen der Theme-Autorin bzw. des Theme-Autoren Author URI: und ihre bzw. seine URL Ported By: Name der Person die das Theme auf bbPress portiert hat (wenn verfügbar) Porter URI: und ihre bzw. seine URL */
Screenshot
Du solltest dem Theme immer einen 300×225 Pixel großen Screenshot beilegen und diesen screenshot.png benennen. Dieser Screenshot zeigt eine Vorschau der Ansicht Deines Themes im Administrationsbereich an.
Template-Dateien
Ein Theme besteht aus dem Stylesheet und verschiedenen Templates. Die Templates kannst du nach belieben verändern, um das Thema nach Deinen Wünschen zu gestalten. Wenn du den Ordner des Standardthemes “Kakumei” öffnest (bb-templates/kakumei), findest Du alle Templates vor, die verwendet werden können. Prinzipiell benötigt ein neues Theme nur ein Stylesheet, sollten im Ordner des neuen Themes keine Templates vorhanden sein, werden die des Standardthemes benutzt.
front-page.php
wird als Startseite des Forums angezeigt.
forum.php
wird angezeigt wenn ein Forum betrachtet wird.
edit-post.php
zum eiditieren eines Beitrags.
edit-form.php
aufgerufen durch edit_form()
favorites.php
Anzeige der Favoriten eines Benutzers
header.php
Aufruf durch bb_get_header().
footer.php
Aufruf durch bb_get_footer().
login.php
Anzeige durch die Login-Seite ( /bb-login.php).
login-form.php
Aufruf durch login_form() wenn der Benutzer nicht angemeldet ist.
logged-in.php
Aufruf durch login_form() wenn der Benutzer angemeldet ist.
password-reset.php
wenn der Benutzer sein Kennwort zurücksetzen möchte.
post-form.php
Aufruf durch post_form().
post.php
Aufruf durch bb_post_template()
profile.php
wenn ein Benutzerprofil angezeigt wird.
profile-edit.php
wenn ein Benutzer sein Profil ändert.
profile-base.php
wenn der Benutzer eine Seite betrachtet die seinem Profil durch ein Plugin hinzugefügt wird.
register.php
wenn sich jemand als Benutzer registriert.
register-success.php
wenn die Registrierung erfolgreich war.
search.php
Anzeige von Suchergebnissen
search-form.php
Aufruf durch search_form().
stats.php
Zur Anzeige von Forumsstatistiken.
topic.php
Um einen Beitrag anzuzeigen.
topic-tags.php
Aufruf durch topic_tags().
tag-form.php
Aufruf durch tags_form().
topic-tags.php
Aufruf durch topic_tags().
tags.php
Anzeige der Tags-Seite.
tag-single.php
Anzeige eines einzelnen Tags.
view.php
Anzeige der Übersichtsseiten für angemeldete Benutzer. Zum Beispiel “unbeantwortete Themen”.
Wow! Das ist eine ganze Menge. Aber denke daran, daß Dein Theme keine dieser Dateien enthalten muss! Die Templates die nicht aus Deinem Theme entnommen werden können, werden aus dem Standardtheme “Kakumei” geladen.
Das bbPress-Entwicklerteam ist dabei die Dateien übersichtlicher zu gestallten. In zukünftigen Versionen können einige dieser Dateien zusammengelegt oder auch alle Dateien entfernt werden.
Hinweise
Und hier ein paar Tipps die man als Theme-Designer im Hinterkopf haben sollte:
- bbPress verfügt über einige vordefinierte Funktionen um verschiedene Elementen mit zusätzlichen CSS-Klassen auszustatten. Prüfe die Verwendung der Funktionen der folgenden Funktionen in den Templates des Standardhemes:
alt_class(),post_del_class()undtopic_class(). - Die AJAX-Scripts, die auf den Beitragsseiten eingesetzt werden, sind von der Gesaltung der Templates abhängig und benötigen das JavaScript welches über die header-Datei des Standardhemes eingebunden wird.
- Die Liste (oder Tabelle oder was auch immer) der Beiträge sollte die ID “thread” tragen.
- Jeder Beitrag sollte in einem Element mir der ID “
post-{$post_id}” stehen. - Das Beitragsformular benötigt die ID “postform” und der “Senden”-Button des Formulars muss die ID “postformsub” tragen.
- Die Liste der Tags für den aktuellen Benutzer muss die ID “yourtaglist” und für die Tags aller anderen Benutzer die ID “otherstaglist” haben.
- Jedes Tag muss in einem Element mit der ID “
tag-{$tag_id}_{$user_id}” enthalten sein. - Das Tag-Formular muss die ID “tagform” und der “Senden”-Button des Formulars die ID “tagformsub” haben.
- Die Meta-Informationen eines Beitrags sollten in einem Element mit der ID “topicmeta” und die Favoriten in einem Element mit der ID “favorites-toggle” stehen.
Die ganzen Einschränkungen sind natürlich lästig. Die Gestaltung des Standardhemes “Kakumei” sollte aber ausreichend sein, so dass nur Anpassungen über das CSS-Stylesheet notwenig werden.
…und bitte nicht vergessen: bbPress befindet sich in der Entwicklung, viele Dinge werden sich in Zukunft noch verbessern!