Change language

Zuletzt besucht

Ausgewählte Projekte

Web Applikationen

Links

Andere Projekte

Meta

Das Content Managing System meiner Homepage

Dec 2015

In diesem Artikel möchte ich das Content Managing System (CMS) meiner Webseite vorstellen. Da alles hier ein Produkt meiner Programmierung ist, möchte ich diese auch präsentieren. Beim Webprogrammieren passiert das meiste hinter den Kulissen. Der Besucher sieht nur die Ausgabe.
Dieser Artikel beleuchtet nun den Code, der den Inhalt der Seite wiedergibt. Er ist ausschließlich in PHP geschrieben.

Überblick darüber, wie das CMS funktioniert

Im Vergleich zu anderen kostenlosen CMS, welche auf dem Server installiert werden können, ist diese CMS winzig. Sie ist aber alles was ich brauche, und es hat Spaß gemacht sie zu programmieren.
Wenn du eine Seite aufrufst, indem du ihre URL eingibst (z.B.: monoclecat.de/?l=etching), dann führst du eine GET-Anfrage mit der Variable l gleich „etching“ aus. Dann durchsucht der Code die Datenbank nach einer Seite, die „etching“ heißt. Der Inhalt der Datenbank-Zeile wird nun in ein Skelett gefüllt, welches die Grund-Struktur jeder Seite enthält (Banner oben, horizontales Menü, Menü auf der rechten Seite, Fußbanner unten). Das Ergebnis ist das, was du in deinem Browser siehst, zum Beispiel auf dieser Seite hier.

Die Datenbank

Die Datenbank-Tabelle „CMS“ enthält alles, was das Skript zum aufbauen einer funktionalen Seite benötigt. Hier ist ein Beispiel mit zwei Seiten, an denen man die Datenbank-Struktur erkennen kann: (Scrolle nach rechts um die Tabelle in ihrer Gesamtheit zu erfassen)

Id Name Label Hauptbild Erstellt Zeigename Vorgestellt Titel Überschrift Zusammenfassung Haupt
10 4-bit-addierer Projekt 48 2014-06 4-bit Addierer no 4-Bit-Adder Monoclecat.de 4-Bit-Adder aus Logik-Gattern Ein 4-Bit Addierer, den ich in der 10. Klasse... In der 10. Klasse im...
4 über über 2015-12 Über mich nein Über mich Monoclecat.de Über mich Über mich und die Geschichte dieser Seite Hallo, mein Name ist Andrew...

Wie du sehen kannst, gibt es viel mehr zu einer Seite als einen Titel (zu sehen im Tab im Browser), einen Namen (auf dies muss die l-Variable gesetzt sein) und dem Inhalt. So sind auch die Links im Menü auf der rechten Seite mit PHP aufgebaut. Um da einen schönen Namen darstellen zu können, braucht die Datenbank die Spalte „Zeigename“.
Auf der Willkommens-Seite wird der Newsfeed ebenfalls mit einem Skript aufgebaut. Hier sind noch weitere Informationen notwendig. Die Datenbank beliefert das Skript mit dem Hauptbild der Seite, einer Überschrift und einer Zusammenfassung.

Hinzufügen einer neuen Seite/ Ändern einer bestehenden Seite

Um etwas zu ändern oder hinzuzufügen, muss man zunächst einloggen, damit die Seite weiß, wer der Nutzer ist und welche Rechte ihm geben muss. Nachdem man sich eingeloggt hat und eine Seite besucht, baut sie sich auf, als ob man ein normaler Besucher wäre. Unter der Seite erscheint jedoch ein Formular mit den Einträgen der Datenbank, die man dann ändern kann. Mit einem Klick auf „Save“ wird die Datenbank aktualisiert.
Hier ist ein Beispiel dieses Modus:

Klicke um zu vergrößern

Der Code

Der Code für den CMS besteht aus zwei PHP Dateien, io.php und cmsstuff.php. io.php ist das „Skelett“, welches oben genannt wurde. Es ist ein Körper, welches mit Inhalt gefüllt wird, wenn du eine Seite lädst. Du bist auch gerade auf io.php; es ist nur nicht unbedingt in der URL sichtbar. Anstatt "monoclecat.de/?l=CMS" kann man nämlich auch "monoclecat.de/io.php?l=CMS" schreiben. cmsstuff.php läuft im Hintergrund und führt die wichtigen Skripts aus, die mit der Datenbank kommunizieren und dessen Inhalt anzeigefertig macht.

Der Code für mein CMS ist open-source und ist hier auf meinem Github Account verfügbar. Falls du den Code verwenden willst musst du ein paar Teile löschen, da sie Funktionsaufrufe an Skripte beinhalten, die hier nicht enthalten sind.