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
.