• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[MVC]Problem bei der Anzeige

Frucht

Mitglied
Hallo,
ich arbeite derzeit ein bisschen am CMS und habe ein Problem beim Anzeigen von Snippets. Ich unterteile in Module, ViewHelper(meist einfache Funktionen) und Snippets(SubController) die mir z.B. die Navigation generieren.


Der Blog Controller wird aufgerufen und lädt das Template Blog, innerhalb dieses Templates befindet sich der Aufruf zum laden der beiden Snippets. Die Funktion parseView() sendet dies dann an die Response Klasse.


Blog_Controller <= Modul
PHP:
public function execute() {
        $entries = $this->model->getPosts();
        $this->view->setView("blog"); <= hier rufe ich die Blog.htm auf
        $this->view->assign('entries', $entries);
        $this->view->parseView();
            
    }
View.php
PHP:
public function parseView() 
    {
        $this->loadView();
        
        $response = Registry::get("response");
        
        $response->write($this->templateOutput); 
         
    }
    
    ....
    
    public function loadSnippet($snippetPosition, $params = null)
    {
        
        $snippet = $this->snippet->execute($snippetPosition);

        
        if($snippet) {
            
            return $snippet->execute($params);
                
        } else {
            
            return 'Unknown Snippet:';
            
        }
    }
Die Template Datei "Blog.htm"
PHP:
<?php $this->loadSnippet('head'); ?>
    <div id="content-left">
        ..............
 
    </div>
    <div id="content-right">
        test    
    </div>
    <?php $this->loadSnippet('foot'); ?>
Beispiel aus dem Snippet Navigation
PHP:
public function __construct() 
    {
        $this->view = new View();
        $this->model = new Model(); 
    } 
    
    public function execute() {
        $entries = $this->model->getMenu();
        $this->view->setView('header');
        $this->view->assign('entries', $entries);
        $this->view->parseView();
            
    }
Das Problem ist nun, dass Zunächst die beiden Snippets ausgegeben werden und danach erst der eigentliche Inhalt des Blog Controllers.


Vielleicht habe ich auch einen Fehler in meiner Logik, wenn ja bitte weißt mich darauf zurecht. Vielleicht sollte ich es auch in einer anderen Ebene der MVC-Schicht implementieren.


Mfg
Frucht
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben