Vorschau auf BuddyPress 1.1: Das neue Theme(-Framework)
Im September soll der nächste Schritt von BuddyPress veröffentlicht werden. Mit Version 1.1 werden zahlreiche Änderungen und Neuerungen eingeführt, die wir euch in einigen Artikel vorstellen möchten. Heute geht es um das neue BuddyPress-Theme(-Framework).
Mit BuddyPress 1.1 werden die bisherigen zwei Themes “bpmembers” und “bphome” durch ein Theme ersetzt. Somit sind Anpassungen nur noch an einer Stelle notwendig. Des weiteren ermöglicht diese Änderung, dass “normale” WordPress-Themes mit einer Zeile in der style.css zu einem BuddyPress-Design umgebaut werden können.
Dank der in WordPress 2.7 eingeführten “Parent/Child”-Technik (zu dt. Eltern/Kind) können Themes auf ein Parent-Theme (Eltern-Theme) aufbauen und Änderungen können, ohne dieses an zufassen, stattfinden. WordPress läd somit nicht vorhandene Template-Dateien im Child-Theme aus dem Parent-Theme. Diese Technik macht sich BuddyPress zu nutzen.
BuddyPress 1.1 enthält ein Theme namens “bp-sn-parent” auf das nun alle anderen BuddyPress-Theme aufbauen. Somit sind nur noch CSS-Anpassungen notwendig um ein eigenes Design für die Social Network Erweiterung für WordPress zu erhalten. Alternativ kann man auch ein beliebiges WordPress-Theme ganz einfach umbauen.
Die Vorteile dieser Technik liegen klar auf der Hand, da man nicht am HTML und PHP herum werkeln muss, Änderungen zweimal machen oder sich durch einige hundert PHP-Dateien kämpfen. Natürlich besteht weiterhin die Arbeit an einem BuddyPress-Theme aus vielen CSS-Anpassungen, jedoch wird diese Arbeit durch diese Neuerung vereinfacht.
Die Transformation in einer Zeile
Um aus einem normalen WordPress-Theme ein BuddyPress-Theme zu machen, bedarf es nur einer Änderungen an der style.css. Einfach zwischen “Author URI: […]” und “Version: […]” diese Zeile “Template: bp-sn-parent” einfügen und schon werden alle von BuddyPress benötigten Dateien geladen. Das selbe gilt natürlich auch für Themes die man selber (neu)baut.
Der einfachste Weg ist wie immer Learning by Doing und Abgucken. Natürlich wird ein fertiges Theme mit BuddyPress 1.1 ausgeliefert, das diese Technik nutzt. Ein Blick in diese style.css zeigt noch eine weitere Funktion des Theme-Frameworks:
/* Theme Name: BuddyPress Default Theme URI: http://buddypress.org/extend/themes/ Description: The default theme for BuddyPress. Version: 1.1-pre Author: BuddyPress.org Author URI: http://buddypress.org Template: bp-sn-parent */ /* Font styles */ @import url( ../bp-sn-parent/_inc/css/fonts/12px.css ); /* Layout styles for home page, internal pages and blog/directory pages */ @import url( ../bp-sn-parent/_inc/css/layout/home-page/3c-right.css ); @import url( ../bp-sn-parent/_inc/css/layout/internal-pages/3c-left.css ); @import url( ../bp-sn-parent/_inc/css/layout/blog-dir-pages/2c-right.css ); /* Default theme admin bar styles */ @import url( _inc/css/adminbar.css ); /* Default theme styles */ @import url( _inc/css/screen.css ); /* Uncomment the following line and add your custom styles to '_inc/css/custom.css' */ /* @import url( _inc/css/custom.css ); */
Das Theme-Framework liefert schon fertige Layouts und CSS-Elemente mit, damit das Entwickeln eines BuddyPress-Themes noch einfacher wird.
Man kann, muss aber nicht
Weiterer Vorteil dieses neuen Theme-Frameworks: Man kann übernehmen, aber man muss nicht. Ganz genau geht es um Template-Dateien, denn manchmal kommt man doch zum Punkt, wo das fertige HTML-Konstrukt von BuddyPress nicht den eigenen Vorstellungen entspricht. Zum Beispiel, wenn man die Elemente der Profilseite anderes ordnen möchte.
Denn wie anfangs beschrieben, läd WordPress im Child-Theme nicht vorhandene Dateien aus dem Parent-Theme, dies gilt auch natürlich für die PHP-Dateien von BuddyPress. Das heißt, möchte man etwas an einem Template ändern, so kopiert man die Datei samt Ordner/-n aus dem Framework in sein Child-Theme.
Was ich persönlich am Besten an dieser Änderung finde ist, dass man nun das Theme aktualisieren kann wenn eine neue Version vor liegt ohne seine Änderungen zu verlieren, dann diese liegen bekanntlich in den Child-Themes. Dies war eine Schwäche am alten System, denn Updates mussten mühsam in beide Themes einkopiert werden.
Altes bewahren und weiter unterstützen
Dieser Artikel zeigt stolz die Neuerungen, aber was ist mit den alten BuddyPress 1.0 Themes? Die laufen natürlich auch weiter. Man muss auch nichts herum kopieren, denn nach der automatischen Aktualisierung von BuddyPress muss man nichts ändern. Dies gilt auch für zukünftige Versionen.
Jedoch sollte man beachten, dass die neue Funktionen aus BuddyPress 1.1 natürlich nicht eingebaut sind, diese gehen nur mit dem neuen Theme-Framework. Aber keine Sorge, denn man hat ja genug Zeit für einen Umstieg auf die neue “Parent/Child”-Technik, denn alte BuddyPress-Themes werden noch eine Zeitlang unterstützt.
Die Community wird es lieben
Zwar wird der Arbeitsaufwand für ein BuddyPress-Theme nicht minimiert, aber an vielen Stellen vereinfacht, so hat man nur noch eine Baustelle anstatt Zwei. Durch diese Vereinfachung wird es auch mehr freie Themes für BuddyPress geben, denn es ist nur etwas CSS notwendig, damit BuddyPress ein eigenes Design erhält.
BuddyPress 1.1 soll noch im September erscheinen, ein genaues Datum steht noch nicht fest.
Weitere Informationen
- Hintergrund-Artikel (und weitere viele Ressourcen) zum Thema “Parent/Child”-Themes
- Anleitung zum Bau eines Child-Themes für WordPress
- Zum Download der Entwickler-Version von BuddyPress 1.1
- Artikel im englischen BuddyPress-Blog: “The New BuddyPress Theme Architecture”
Update: Das Basistheme für BuddyPress heißt mittlerweile “bp-sn-parent”. Dies ist im Artikel nun korrigiert.
3 Trackbacks
- Beta-Version von BuddyPress 1.1 veröffentlicht - BuddyPress, Release, Beta - BuddyPress Deutschland am 14. September 2009
- BuddyPress 1.1 freigegeben - BuddyPress, WordPress, Final, Release - BuddyPress Deutschland am 6. Oktober 2009
- Buddypress downloaden und installieren | GCMedia Webdesigner Blog! am 16. Dezember 2009
26. August 2009 um 14:17
Hallo,
viel wichtiger ist mir, dass bbPress mit einem click installiert werden kann. Gibt es dazu etwas Neues?
Grüße
Joachim
27. August 2009 um 16:11
Dazu gibt es in den kommenden Tage auch einen eigenen Artikel.
31. August 2009 um 15:06
Hi, kann man irgendwo schon einen Blick auf das Design des
BP 1.1 Standart-Themes werfen?
Bin schon gespannt,
Marten
31. August 2009 um 22:06
Vielen, vielen, vielen Dank! Das wird das Leben wirklich vereinfachen. Ich freu mich schon rießig aufs 1.1er Release – damit wird dann auch direkt (nach kurzer Testphase) unser Projekt gestartet
31. August 2009 um 22:13
Das “neue” Theme aus BuddyPress 1.1 sieht genau so aus, wie das in BuddyPress 1.0. Es fanden also nur Änderungen unter der Haube statt. Hier läuft die aktuelle Entwicklerversion als Demo: http://testbp.org/
6. September 2009 um 10:41
das ist alles sehr schön…gibt es denn schon was genaueres ich meine der september ist lang
wenn das ganze erst ende bzw. anfang oktober rauskommt würde sich mein projekt enorm verlängern bis es online ist..
auch stellt sich mir die frage, wenn ich denn nun normale themes benutzen kann werde ich dann vordefinierte templates in mein theme übernehmen oder wie läuft das ganze dann?
grüße
stefan
6. September 2009 um 12:55
Es gibt noch keinen Termin. Das ist so üblich. Du müsst halt wie im Artikel beschrieben, nur noch die CSS-Anpassungen machen.
29. Oktober 2009 um 19:16
Auf http://testbp.org/ kann man sehen, dass einige User eigene Themes scheinbar selbst erstellt und hochgeladen haben. Nach einer Anmeldung auf testbp.org gab es keinerlei Möglichkeit dazu, das eigene Theme zu ändern. Wird das noch integriert?
Grüße aus der Hauptstadt
Mathias
2. November 2009 um 11:03
Nein, der Benutzer selber kann das Theme z.B. seines Benutzerprofiles nicht ändern. Er kann aber das Theme eines Blogs über das Backend, wenn vom Admin aktiviert, ändern.