2016-09-12 8 views
-2

Ich arbeite an einer Website mit Phalcon PhP und möchte die Ansicht (.volt Datei) dynamisch einstellen, basierend auf der URL.Phalcon PhP - Ansicht dynamisch einstellen

Derzeit kann ich die URL abrufen und die URL entspricht dem Namen der .volt-Datei. Mein Problem ist, dass ich den Inhalt der .volt-Datei abrufen kann, aber das Layout scheint leer zu sein, da die Seite ohne Stil wiedergegeben wird. Meine Stylesheets nehme ich in das Layout auf. Hier

ist der Code meiner Aktion:

public function indexAction($url){ 
     $this->view->setLayout('website'); 
     $this->view->pick('program/'.$url); 
    } 

Die URL rechts kommt, ich den .volt Inhalt machen aber das Layout scheint leer zu sein.

Zur Zeit mache ich etwas sehr ähnliches in einer anderen Sitzung und das Layout funktioniert:

$html = $this->view->getRender('page', $url, 
    array('page_title' => $page_title, 
     'page_css_class' => $page_css_class) 
); 
die($html); 

Aber für diese Funktion, möchte ich anderes tun, weil ich auch dynamisch ein paar andere Sachen setzen müssen, wie $this->assets->addJs('x.js'); etc ...

Können Sie sehen, was ich falsch mache?

Dank

+0

Was ist Ihre Phalcon-Version? Haben Sie auch 'website' Layout verwendet, funktionierte es? –

+0

Die Version ist 2.0. Ja, ich benutze diese Vorlage auf anderen Seiten und ich mache etwas sehr ähnliches, was ich versuche zu tun (ich werde die Frage hinzufügen). –

+3

Hast du das nicht schon mal gefragt? http://stackoverflow.com/questions/39044087/phalcon-php-how-to-change-the-view-dynamically/39044344 – Timothy

Antwort

0

einfach machen "Pick" Parameterfeld:

$this->view->pick(['program/'.$url]); 

es Das ist. Entfernen Sie die eingestellte Layoutfunktion, Sie brauchen sie nicht (wenn die Website das Standardlayout ist). Dies wird nicht in der Dokumentation in der besten Weise gezeigt, aber Sie können Githube Zaphir Code für Details here überprüfen.

Viel Glück :)