Teil 1 index.php erweitern


Wie gehts mit dem eigenen CMS weiter? Was kann verbessert werden und welche Ausbauoptionen gibt es noch?

index.php anpassen

Im ersten Schritt muss die zentrale index.php erweitert werden, da die Template-Engine Smarty und ihre Bibliotheken in Ihrem eigenen CMS verwendet werden sollen. Erweitern Sie daher die Include-Section um require_once('core/smarty/libs/Smarty.class.php');, damit nach dem nächsten Start der Webseite Smarty angesprochen werden kann.

date_default_timezone_set('Europe/Berlin');

require_once('core/mvc/Controller.php');
require_once('core/mvc/Model.php');
require_once('core/mvc/View.php');
require_once('core/dipper/Dipper.php');
require_once('core/parsedown/Parsedown.php');
require_once('core/smarty/libs/Smarty.class.php');

$url = 'content/'.$_SERVER['REQUEST_URI'];
if (substr($url, -1) == '/') $url = substr($url, 0, -1);

if (is_dir($url))
{
    if(file_exists($url.'/index.md'))
    {
        $categorie = new Controller($url.'/index.md');
    } else {
        echo 'Kategorie: index.md nicht gefunden';
    }
} else {
    if(file_exists($url.'.md'))
    {
        $post = new Controller($url.'.md');
    } else {
        echo 'Beitrag: beitrag.md nicht gefunden';
    }
}

Code

Der restliche Code der index.php hat sich nicht verändert und kann so bleiben wie er ist.

Neuer Ordner core/smarty

Wenn Sie Smarty heruntergeladen und entpackt haben, dann kopieren Sie den Inhalt in den Ordner core, in das dortige Unterverzeichnis smarty, um die Smarty.class.php in den Includes mit dem Pfad core/smarty/libs/Smarty.class.php korrekt referenzieren zu können.

Minimalanforderung Smarty

Sie benötigen lediglich die folgenden Dateien und Bibliotheken:

  • Smarty.class.php das zentrale Smarty-Objekt, der Parser
  • Smarty_Compiler.class.php Compiler
  • Config_File.class.php Konfigurator
  • debug.tpl sofern Debug aktiv ist, das Template dazu
  • /internals/*.php alle im Ordner enthaltenen werden benötigt
  • /plugins/*.php alle im Ordner enthaltenen werden benötigt

Haben Sie alles ordnungsgemäß eingebunden sollte Webseite ohne Abbruch weiterhin funktionieren.

In der aktuellen Version von Smarty, befinden sich einige Shell-Scripte (*.sh), die Sie löschen sollten. Löschen Sie generell alles was Sie nicht brauchen.


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

Oliver Lohse
2024-02-19
eigenes CMS entwickeln programmieren index
post
Kontakt@Oliver-Lohse.de

Ein eigenes CMS programmieren II.

In der zweiten Hälfte des Workshops, geht es darum, das kleine CMS noch weiter auszubauen und vollwertig zu machen. Sie binden die Template-Engine Smarty ein.

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.