Flat File CMS

Create your CMS

Falt File CMS

In diesem Tutorial erstellen wir innerhalb eines Nachmittages ein Flat File CMS, welches für kleine Websites vollkommen ausreicht. Um etwas Zeit zu sparen wurde der Code kommentiert, somit sparen wir uns lange und komplizierte Erklärungen.

Das Endergebnis dieses Workouts kann hier heruntergeladen werden: Flat CMS
Eine Demo gibt es natürlich auch: Demo.

Folgende Ordner benötigen wir für die Struktur:

=> functions
=> content
=> img

Die Ordner functions und content enthalten eine .htaccess-Datei mit folgendem Inhalt:

Admin Control Panel

Das wichtigste an diesem CMS ist wohl das ACP um die Inhalte verwalten zu können, zu dem erstellen wir eine Funktion um das gesamte "Gerüst" bearbeiten zu können.

Beginnen wir mit der Struktur und den benötigten Klassen, wir verzichten auf einen gesonderten Stylesheet und lösen dies mit CSS im HTML Code. Im selben Schrott erstellen wir einen einfachen Login ohne Datenbank, da alle Funktionen in der acp.php ausgeführt werden, wird der HTML Code nicht weiter wiederholt.

Funktionen

Zu nächst müssen die benötigten Funktionen erdacht werden, also was muss das CMS können?

=> Content verwalten
=> Bilder verwalten
=> Stylesheets und System verwalten

Content Management

Um alles etwas zu vereinfachen erstellen wir einen einfachen Editor welcher nicht nur die Seiten verwaltet sondern auch neue erstellt.

Der Code

Details

Diese einfache Funktion ermöglicht auf einfachem Weg, Seiten zu erstellen, zu bearbeiten und zu löschen. Es existieren keine Hilfen in diesem Editor, sprich man kann nur mit HTML arbeiten um den Inhalt zu formatieren. Unschön ist ansich auch die Art wie der Content gespeichert wird, denn um diesen einfach wieder auszugeben dürfen keine Leerzeichen in der jeweiligen Datei gespeichert sein. Da es sich hierbei aber um ein einfaches Tutorial handelt kann man darüber hinweg sehen.

Imageverwaltung

Auch wenn in diesem Workout ein minimales CMS erstellt wird sollte eine Imageverwaltung nicht fehlen. Was muss eine Imageverwaltung in erster Linie können?

=> Upload
=> Verwalten
=> Löschen

Der Code

Details

Nun haben wir das Gerüst einer Imageverwaltung die über die erwähnten Funktionen verfügt. Damit Images automatisch benannt werden, wurde die Klasse TokeShort() eingebunden, diese benennt Images zufällig.

Um Platz und Zeit zu sparen wurde die Verwaltung und die Löschfunktion direkt zusammen erstellt, was zwar eine unsaubere dafür funktionale Lösung darstellt. Schließlich soll das Flat File CMS innerhalb eines Nachmittages fertig sein

System Editor

Dieses kleine Feature erlaubt es dem CMS sich selbst ebenfalls zu ändern. So können Funktionen erweitert oder erstellt werden. Ebenfalls lösen wir diese Aufgabe Quick and Dirty.

Der Code

.htaccess und logout.php

Damit dem Besucher später keine langen Links vorgesetzt werden, manipulieren wir diese mit .htaccess.

Die logout.php beendet die gestartete Session und schützt so das ACP.

index.php

In der index.php bringen wir die komplette Websiteausgabe unter, in dem per $_GET die entsprechende Datei aus dem Ordner "content" gelesen wird ersparen wir uns eine menge Arbeit.

Ähnlich verfahren wir mit der Navigation, nach dem einlesen des Ordners "content" werden bestimmte Inhalte der Dateien per foreach sortiert und als Links ausgegeben.

Der Code

Fazit

In diesem Tutorial haben wir in nicht einmal einer Stunde ein CMS mit ausreichenden Grundfunktionen erstellt. Dieses Tutorial benötigt gerade einmal Grundkenntnisse in PHP und HTML, um ein gebrauchbares CMS zu programmieren.

Gedanken

Es gibt einige Dinge die anders gelöst werden können, da alle Änderungen und Erstellungen des Contents über die selbe Funktion gespeichert werden kann das Script auch alle Seiten einfach überschreiben. Hier könnte man noch mit einer einfachen If-Schleife und file_exists den bereits erstellten Content schützen.

Last modified: May 14 2019 22:59:45.

Diese Website verwendet Cookies. Datenschutzrichtlinien