Dokumentation » Themes und Templates

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:

  1. ein Stylesheet namens style.css
  2. ein 300×225 Pixel grosser Screenshot Deines Themes namens screenshot.png
  3. …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() und topic_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!