2016-08-19 1 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->보기 -> 선택 ('페이지/약') : 그래서 아래의 컨트롤러를 구현 템플릿에 뷰를 삽입하지 않습니다. 보기 만 렌더링합니다.

레이아웃 내에서보기를 렌더링하는 방법이 있습니까? 내가하고있는 것에 더 나은 접근 방법이 있습니까? 템플릿을로드하는 데 어떤 도움

답변

1

에 대한

덕분에 당신은 단지보고의 결과로, 당신은 $this->view->setLayout('website');가 설정 한 레이아웃을 덮어 쓰는 $this->view->pick('page/about');를 사용하여

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

대신 $this->view->setLayout('website');

를 사용한다 page/about 레이아웃.

+0

도움 주셔서 감사합니다. 그것은 내 문제를 해결했다. –