Mittwoch, 27. August 2008
Serendipity: Verbesserung der Statische Seiten
Ein großes Problem von Serendipitys Statische Seiten-Plugin war seit jeher, dass die redaktionelle Erstellung einer statischen Seite auf einem doch relativ hässlichen Interface basierte:

Da in letzter Zeit die Stimmen laut danach wurden, dieses Interface etwas zu entstauben, habe ich Anfang der Woche ein paar kleine Bauarbeiten an dem Plugin vorgenommen und bereits ins offizielle Plugin-Archiv (staticpage.zip) überführt.
Technisch sind die Änderungen eher klein und unaufwändig gewesen (2 Stunden Lebenszeit) - aber die Auswirkungen sind enorm:

Da in letzter Zeit die Stimmen laut danach wurden, dieses Interface etwas zu entstauben, habe ich Anfang der Woche ein paar kleine Bauarbeiten an dem Plugin vorgenommen und bereits ins offizielle Plugin-Archiv (staticpage.zip) überführt.
Technisch sind die Änderungen eher klein und unaufwändig gewesen (2 Stunden Lebenszeit) - aber die Auswirkungen sind enorm:
Ab sofort können die statischen Seiten mit beliebigen Smarty-Templates erfasst werden, und eine statische Seite kann beliebige zusätzliche Inhalte á la Custom Properties bei Blog-Einträgen erhalten.
Standardmäßig wird eine neue Template-Datei namens backend_templates/default_staticpage_backend.tpl beim Plugin mitgeliefert, in der die Aufteilung der Felder frei bestimmt wird. Es gibt eine Smarty-Hilfsfunktion ({staticpage_input}), damit die bestehenden Introspection-Methoden des Plugins für die definierte Liste an Datenfeldern einfach ausgegeben werden kann.
Eigene Templates können diese Datei auch von Haus aus mitliefern, so dass die eigenen Staticpage-Erfassungsmasken auch abhängig vom Gesamt-Template sein können. Für Magazin-Templates wie Hemmingway oder Mimbo dürfte dies also ein Segen sein.
Es können auch problemlos mehrere Templatedateien im Verzeichnis backend_templates abgelegt werden, jedes dieser Templatedateien steht dann im Ausklappfeld der Bearbeitungsmaske zur Verfügung. Für die alten Hasen ist auch nach wie vor die alte Ansicht zusätzlich verfügbar.
Ein Beispiel für die Erfassung zusätzlicher freier Eigenschaften der statischen Seiten ist ebenfalls mit im Standard-Template enthalten, jedoch auskommentiert. Alle freien Felder müssen lediglich mit eigenen HTML-Formularelementen erfasst werden und in der Variable serendipity[plugin][custom][XXX][ gespeichert werden. Diese Daten werden dann automatisch in der Datenbanktabelle serendipity_staticpage_custom gespeichert, und stehen später bei der Darstellung als {$staticpage_custom.XXX} zur Darstellung zur Verfügung.
So kann man also sehr leicht eigene Felder festlegen, die z.B. bestimmen welche CSS-Body-ID für die Darstellung einer statischen Seite verwendet wird. Oder man kann festlegen, welche Seitenleisten beim Anzeigen der statischen Seite dargestellt werden. Oder ein individuelles Headerbild festlegen -- auch hier ist "Sky the limit", denn damit rückt das Plugin Serendipity's CMS-Fähigkeiten deutlich in den Vordergrund. Ein derartiges Framework erlaubt eine sehr an die Benutzer ausgerichtete Bearbeitungsoberfläche, und durch die freien Felder ist man für die Erfassung beliebiger Inhalte vorbereitet.
Ich hoffe, es gefällt.
Standardmäßig wird eine neue Template-Datei namens backend_templates/default_staticpage_backend.tpl beim Plugin mitgeliefert, in der die Aufteilung der Felder frei bestimmt wird. Es gibt eine Smarty-Hilfsfunktion ({staticpage_input}), damit die bestehenden Introspection-Methoden des Plugins für die definierte Liste an Datenfeldern einfach ausgegeben werden kann.
Eigene Templates können diese Datei auch von Haus aus mitliefern, so dass die eigenen Staticpage-Erfassungsmasken auch abhängig vom Gesamt-Template sein können. Für Magazin-Templates wie Hemmingway oder Mimbo dürfte dies also ein Segen sein.
Es können auch problemlos mehrere Templatedateien im Verzeichnis backend_templates abgelegt werden, jedes dieser Templatedateien steht dann im Ausklappfeld der Bearbeitungsmaske zur Verfügung. Für die alten Hasen ist auch nach wie vor die alte Ansicht zusätzlich verfügbar.
Ein Beispiel für die Erfassung zusätzlicher freier Eigenschaften der statischen Seiten ist ebenfalls mit im Standard-Template enthalten, jedoch auskommentiert. Alle freien Felder müssen lediglich mit eigenen HTML-Formularelementen erfasst werden und in der Variable serendipity[plugin][custom][XXX][ gespeichert werden. Diese Daten werden dann automatisch in der Datenbanktabelle serendipity_staticpage_custom gespeichert, und stehen später bei der Darstellung als {$staticpage_custom.XXX} zur Darstellung zur Verfügung.
So kann man also sehr leicht eigene Felder festlegen, die z.B. bestimmen welche CSS-Body-ID für die Darstellung einer statischen Seite verwendet wird. Oder man kann festlegen, welche Seitenleisten beim Anzeigen der statischen Seite dargestellt werden. Oder ein individuelles Headerbild festlegen -- auch hier ist "Sky the limit", denn damit rückt das Plugin Serendipity's CMS-Fähigkeiten deutlich in den Vordergrund. Ein derartiges Framework erlaubt eine sehr an die Benutzer ausgerichtete Bearbeitungsoberfläche, und durch die freien Felder ist man für die Erfassung beliebiger Inhalte vorbereitet.
Ich hoffe, es gefällt.

Kommentare
Ansicht der Kommentare:
(Linear | Verschachtelt)


SCNR
Probiere es Morgen noch einmal.
Welche Nummer hat die neue Version?
Bei mir hat Spartacus eine neue Version gemeldet und installiert aber es sieht aus wie immer. (Habe jetzt 3.62)
Da ich es nicht testen kann, hier die Frage: gibt es jetzt analog zu den dynamischen Seiten nun die Möglichkeit einer Vorschauansicht? Das habe ich bisher vermisst.
Gruß Konrad
kann ich denn diese backend oberfläche auch einrichten wenn ich nicht das bulletprooftheme benutze?
obwohl das das pluin upgedatet wurde kann ich keine veränderung entdecken, also rein optisch gesehen.
Eine Vorschauansicht gibt es nicht.
Frank, das Backend kommt automatisch wenn man Bulletproof nimmt und sicherstellt, dass man daen CSS-Cache des Browsers leert. Ohne Bulletproof sieht es nicht so aus, da musst du das admin-template in dein eigenes übernehmen.
Dem Wunsch nach einer Vorschau würde ich mich gerne anschliessen. Das würde das ganze noch komplett machen...
Danke für deine zwei Stunden!!!!
2. Habe auf der Seite http://www.agilityandfriends.de s9y installiert aber dort bekomme ich nur Fehlermeldung dieser Art:
Warning: require_once(/mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/bundled-libs/Onyx/RSS.php) [function.require-once]: failed to open stream: No such file or directory in /mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/include/admin/importers/generic.inc.php on line 5
Fatal error: require_once() [function.require]: Failed opening required '/mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/bundled-libs/Onyx/RSS.php' (include_path='.:/opt/RZphp5/includes:/mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/bundled-libs/:/mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/bundled-libs/Smarty/libs/:/mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/:') in /mnt/web7/10/36/51852136/htdocs/agilityandfriends/serendipity/include/admin/importers/generic.inc.php on line 5
Bei meiner Seite hat es auch funktioniert und die Sprache konnte ich auch in Deutsch umbenennen - hier geht es nicht ? - kann mir jemand von Euch helfen.
Danke
















Garvin hat uns zwei Stunden seiner Zeit geschenkt und das Statische Seiten Plugin verbessert. Auffällig ist, dass das Interface verbessert wurde. Das Plugin erlaubt nun die Auswahl bzw. Definition unterschiedlicher Templates für das Backend. Wozu bra
Aufgenommen: Aug 27, 22:30