2011-02-07 4 views
0

나는 이렇게 단순한 작업을 수행하는 방법을 생각할 수 없다는 것에 약간 화가났다. 젠드를 사용하고 그래서 예를 들어, CMS 같은 것을 할 달성하기 위해 노력하고있어젠드 FrontPage에서 여러 모듈 호출하기

첫 번째 단계 :

  • 이, 오른쪽, 가운데 왼쪽처럼 자리를 정의 레이아웃을 가졌어요.
  • 는 내가 메뉴 컨트롤러를 가질 수 내 접근 방식은 지금 때 layout.phtml

    <?php 
    /* @var $this Zend_View */ 
    $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8'); 
    $this->headTitle()->setSeparator(' - '); 
    $this->headTitle('Something'); 
    ?> 
    
    <?php echo $this->doctype() ?> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
        <head> 
         <?php echo $this->headMeta() ?> 
         <?php echo $this->headTitle() ?> 
         <?php echo $this->headScript() ?> 
         <?php echo $this->headStyle() ?> 
        </head> 
        <body> 
         <?php echo $this->placeholder('top') ?> 
         <div id="main"> 
    
          <div id="content"> 
           <?php echo $this->layout()->content ?> 
          </div> 
          <?php echo $this->placeholder('footer') ?> 
         </div> 
    
        </body> 
    </html> 
    

    잘 정의 된

나는 등 오른쪽, 왼쪽에 날짜 선택기를로드 할 수 있습니다 나는 그것이 IndexController라고 부르는 페이지로 간다. 그리고 색인의 콘텐츠는 $this->layout()->content에 렌더링됩니까?

어떻게 다른 placeholder에서 렌더링 할 다른 항목을 호출합니까?

예를 들어

:

나는 데이터베이스에 연결하고 나는 다른 모든에서 그것을 반복해야 할 것입니다 자리 표시 자하는 렌더링 할 물건을 파악하는 데 필요한 물건을 가져 오기 위해 컨트롤러의 init 메소드를 사용하는 경우 컨트롤러.

사용할 수있는 방법은 무엇입니까?

답변

1

Action View Helper을 사용할 수 있습니다.
동작보기 도우미를 사용하면보기 스크립트가 지정된 컨트롤러 동작을 디스패치 할 수 있습니다. 디스패치 후 응답 객체의 결과가 반환됩니다. 이것들은 특정 액션이 재사용 가능한 컨텐츠 또는 "widgetized"컨텐츠를 생성 할 수있을 때 사용될 수 있습니다.

// in your layout 
<?php echo $this->action('action', 'controller', 'module');?> 

ActionStack (Action Helper)을 시도해 볼 수도 있습니다.
스택에 추가 할 컨트롤러에 새 콘텐츠 키 (기본 키는 "content")를 설정하십시오.

// MenuController.php 
public function init() { 
    $this->_helper->layout->setContentKey('menu') 
} 


// layout.phtml 
<?php echo $this->layout()->menu ?> //instead of $this->placeholder('menu') 
관련 문제