Teil 2 Die View für Smarty erweitern


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

Die View anpassen

In der View-Klasse müssen die meisten Änderungen vorgenommen werden, damit in Zukunft die Template-Engine Smarty in Ihrem eigenen CMS die Anzeige abwickelt.

class View
{ 
    public $smarty;

    function __construct()
    {
        $this->smarty = new Smarty();
    }

    function display($template)
    {
        $this->smarty->display($template.'.template');
    }

    function set($token, $content) 
    {
        $this->smarty->assign($token, $content);
    }
}

Als erstes wird die Klassenvariable $smarty erzeugt, damit sie in der View allen Methoden der Template-Engine Smarty zur Verfügung stehen. Das Objekt wird im Constructor angelegt und der Klassenvariablen $smarty zugewiesen.

Die bestehende Methode display() bleibt erhalten und startet das Rendering des Smarty-Objekts mit dem Template. Dadurch wird der bisherige, recht leistungsschwache, PHP-Befehl str_replace() durch $this->smarty->display() abgelöst.

In der set() Methode werden die alten Arrays $this->token_name[] und $this->token_content[] nicht mehr benötigt, denn die Template-Tokens und deren Inhalte werden sofort in das Smarty-Objekt mit assign() eingesetzt und die Anzeige kann im Controller ausgelöst werden.


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