2016-08-19 16 views
0

私は一部のウェブサイトで静的なHTMLを持っているので、レイアウトを作成し、その中にビューを使用して静的コンテンツを挿入しています。私の問題は、このウェブサイトには多くのページがあるので、私は間違って各URLのためのアクションを作成すると感じている。そこでコントローラを実装しました。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->setLayout('website');によって設定されたレイアウトを上書きしている$this->view->pick('page/about');を使用することにより

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

代わりの$this->view->setLayout('website');

を使用する必要がありますpage/aboutレイアウト。

+0

ありがとうございます。それは私の問題を解決した。 –

関連する問題