einfaches CMS für kleine Projekte

Datum: 12. September 2009 • Kategorie: Entwicklung

Durch phpjournal.de bin ich kürzlich auf ein noch in den Kinderschuhen steckendes Content Management System (CMS) -Projekt gestoßen: gp|Easy. Was CMSysteme angeht, bin ich stets auf der Suche nach neuen, besseren und einfacher zu bedienenden Lösungen. Wenn es darum geht, ein Template (Theme, bzw. Design) für ein CMS zu schreiben, stehe ich auf wenig Aufwand und schnelle Ergebnisse (WordPress finde ich zum Beispiel sehr angenehm).

gp|Easy - einfaches, kleines CMS

Überblick

Mit derzeit 1,03 MB ist das Paket recht überschaulich. Die Installation geht im Normalfall in ca. 20 Sekunden über die Bühne und man kann sofort loslegen. Das Besondere an gp|Easy ist, dass es ohne Datenbank arbeitet und allein mit PHP 4.1 (oder höher) auskommt. Die zweite Seltenheit, welche mich noch neugieriger machte, ist, dass das CMS ebenso ohne direktes Backend auskommt. Sprich: Wenn man als Administrator/User angemeldet ist, erscheint am oberen Rand eine Toolbar mit üblichen Bearbeitungs-/Einstellungsfunktionen, der Inhalt der Seite wird in selbiger auch bearbeitet. Im angemeldeten Status erscheinen in der Seite selbst “Bearbeiten”-Schaltflächen, klickt man auf eine solche, öffnet sich dann im Inhaltsbereich ein Editor (FCKEditor) mit dem zu bearbeitenden Inhalt der ausgewählten Box.

Derzeit unterstützt das CMS zwei Seiten-Typen (normale Seite, Bildergalerie), eine Navigation (mit bis zu 3 Ebenen), ein Kontaktformular, eine Uploadfunktion und weiteres.

Einschränkungen

Wie schon erwähnt, ist das Projekt noch relativ jung (Version 1.0) und demnach noch wenig umfangreich. PlugIns gibt es noch keine und hier und da ist die ein oder andere Funktion noch nicht ganz ausgereift. Bei der Erstellung eingener Designs wird man schnell merken, dass das “Inline-Backend”-System noch nicht ganz ausgereift ist, dann kommt es schon mal vor, dass sich so manches Objekt verschiebt und der Editor sich sehr dünn machen muss.

Angesichts des Aufbaus von gp|Easy wird es heute (und auch morgen) nicht für mittlere bis große Projekte geeignet sein. Die Funktionen und der Aufbau sind meiner Meinung nach auf Portfolios und kleine About-/Einmannpages ausgerichtet; So ist es zum Beispiel vergleichsweise einfach, eine Bildergalerie (Lytebox) anzulegen, eine Newsfunktion fehlt hingegen noch komplett.

Fazit

gp|Easy setzt in vielen Punkten intuitiv an, stößt aber schnell an seine Grenzen. Für Minisites bis Portfolios eignet es sich jedoch gut.

Tutorial: Templates für gp|Easy erstellen

…Ist eigentlich ziemlich einfach! Im Themes-Ordner findet man schon drei Beispiele, wie es funktionieren kann.
(dieses Tutorial dient nur dem schnellen Einstieg in gp|Easy und soll keine ausführliche Hilfe für HTML/CSS/PHP-Einsteiger sein, es wird nur die Funktionsweise von gp|Easy erläutert)

Dateien anlegen

Im ersten Schritt werden zwei Dateien und zwei Ordner angelegt:

  • Im Ordner themes wird ein Ordner angelegt, der den Namen eures Designs trägt.
  • In diesem neuen Ordner wird nun eine template.php und ein weiterer Ordner platziert, dieser kann beispielsweise css benannt werden.
  • Zum Schluss wird im css-Ordner noch eine Datei style.css angelegt.

Der Aufbau von gp|Easy

  • <?php $page->GetHead(); ?> kommt zwischen <head> und </head>, enthält META-Informationen und die Administrator-Optionen.
  • <?php $page->GetFullMenu(); ?> Gibt das komplette Menü (bis zu drei Ebenen) im Stile einer unsortierten Liste (<ul></ul>) aus.
  • <?php $page->GetMenu(); ?> Gibt die erste Ebene des Menüs im Stile einer herkömmlichen, unsortierten Liste aus.
  • <?php $page->GetSubMenu();  ?> Gibt nur die Menüpunkte ab der zweiten (bis zur dritten) Ebene aus.
  • <?php $page->GetContent(); ?> Gibt den Inhalt aus.
  • <?php $page->GetAdminLink(); ?> Zeigt einen “Sitepmap”-, “Login”-, und “Powered by”-Link hintereinander an.

Es lassen sich auch leicht eigene “Inhaltsfelder” (wie: <?php $page->GetContent(); ?>) zum Beispiel für den Header oder Footer der Site erschaffen. Zum generieren eines solchen Inhaltsfeldes muss nur ein Code-Schnipsel wie folgender eingefügt werden: <?php $page->GetExtra(‘MeinInhalt’); ?> An der Stelle erscheint dann ebenfalls ein Bearbeiten-Button und es wird automatisch eine Datei für dieses Feld angelegt.

Im Grunde muss man bei der Erstellung eines Themes nur darauf achten, dass man allgemeine Richtlinien, wie zum Beispiel das Erstellen von Menüs mit Listen-Elementen, beachtet. Die Struktur des Codes kann beliebig sein, da wo Inhalt erscheinen soll, werden lediglich die oben genannten PHP-Schnipsel eingebunden.

Wichtige CSS-Klassen

Gibt es eigentlich kaum welche. Bei der Erstellung des Themes muss allerdings etwas darauf geachtet werden, dass man nicht zu Global auszeichnet, da sich die Administrationselemente leicht in ihrem Aussehen beeinflussen lassen.

  • Die Galerie ist ziemlich stark vorformatiert, folgende Klassen verändern die Darstellung einer “Gallery”-Seite:
    .gp_gallery{}, .gp_gallery img{}, .gp_gallery div{}, .gp_gallery li{}
  • Folgende Klasse hebt den aktiven Menüpunkt hervor:
    .selected{}

Ich werde gp|Easy auf jeden Fall (probeweise) mal für das ein oder andere kleine Projekt verwenden, wo ein System wie WordPress, Joomla!, oder gar Typo3 einfach viel – viel zu mächtig wäre.

Autor: Leonard Hertel
Tags:

2 Kommentare

  1. [...] im Bereich “CMS-Vorstellung” zu schaffen, in welchem bisher einzig und allein gp|Easy einen Eintrag für sich in Anspruch nehmen konnte, findet nun ein weiteres CMS, EasyHP, einen Platz [...]

  2. CMS Einfach sagt:

    Hallo an Alle CMS-Fans,

    wollte nur kurz bescheid sagen, wegen einem wirklich guten CMS:
    http://www.cmseinfach.de
    Dieses CMS ist kostenlos verfügt aber über sehr viele Funktionen die sehr nützlich sind (mit SEO, Suchmaschinenoptimierung) im Adminbereich. Außerdem ist es SEHR EINFACH zu installieren und zu bedienen.

Kommentar schreiben: