Teil 3 Den Controller umbauen


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

Den Controller anpassen

Im Vergleich zum Controller aus dem ersten Teil, hat sich nicht so viel geändert. Die verwendeten Template-Tokens haben jetzt keine geschweiften Klammern mehr und werden mit $this->view->set() dem Smarty-Objekt hinzugefügt.

class Controller
{
    public $model;
    public $view;

    function __construct($url)
    {
        $this->model = new Model($url);
        $this->view  = new View();

        $this->view->set('logo',        $this->model->logo);
        $this->view->set('title',       $this->model->title);
        $this->view->set('description', $this->model->description);
        $this->view->set('content',     $this->model->content);

        $this->view->display($this->model->template);
    }
}

Die Daten zum befüllen des Templates, erhält der Controller aus dem Model mit Hilfe der magischen Methode __get(). Wie auch im ersten Teil, startet der Controller dann die Anzeige des Templates mit $this->view->display($this->model->template), übergeibt nun aber den Namen des zu nutzenden Templates. Dieser Wert kommt ab jetzt aus den Meta-Attributen (z.B.: Template: basic) eines jeden Beitrags. Dies ist die Repräsentation der Template-Datei, z.B. /templates/basic.html.


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 Controller
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.