2016-08-19 82 views
0

我正在一個網站的一部分,我有靜態html,所以我創建了一個佈局,並在其中我插入靜態內容使用視圖。我的問題是因爲這個網站有很多頁面,我覺得每個網址創建一個動作都是錯誤的。所以我實現了下面的控制器:Phalcon PhP - 如何動態更改視圖

class PageController extends ControllerBase 
{ 
    public function initialize(){ 
     $this->init(); 
     $this->view->setLayout('website'); 
    } 

    public function indexAction ($url=''){ 
     if($url == 'about') 
      $this->view->pick('page/about'); 
    } 
} 

當我設置控制器視圖渲染$ this-> view-> pick('page/about');它不會在模板中插入視圖。它只呈現視圖。

有沒有辦法在佈局中呈現視圖,並且有更好的方法來處理我正在做的事情?

感謝所有幫助

回答

1

要加載模板,你應該使用

$this->view->setTemplateAfter('website'); 

,而不是$this->view->setLayout('website');

使用$this->view->pick('page/about');要覆蓋佈局由$this->view->setLayout('website');設置,從而只看到page/about佈局。

+0

感謝您的幫助。它解決了我的問題。 –