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?

Inhalt

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.


Oliver Lohse
2024-02-19
eigenes CMS entwickeln programmieren View
post
0