2012-04-24 2 views
0

나는 zend에 대해 매우 익숙하며 일부 사이트에서는 내비게이션 메뉴를 만들고 싶습니다. 20 페이지가 있다고 가정 해 봅시다. 5 개의 항목으로 된 메뉴를 만들고 4 페이지 만 볼 수 있습니다. 이것은 어리석은 질문 일지 모르지만 부트 스트랩이 아닌 내 컨트롤러에서 만들 수있는 방법이 있습니까? ?사이트의 일부에서 Zend_Navigation을 만드는 법 - ZF 1.11.11

<?php 
class Default_View_Helper_ShortNav extends Zend_View_Helper_Abstract 
{ 
    /** 
    * Generate a Zend_Navigation object 
    * @return Zend_Navigation 
    */ 
    public function shortNav() 
    { 
    //psudo code 
    $pages = array(); 
    $model = new Default_Model_Pages(); 
    $rows = $model->fetchAll(); 
    foreach($rows as $page) 
    { 
     $pages[] = array(
      'label' => $page->title, 
      'module' => 'default', 
      'controller' => 'index', 
      'action' => 'page', 
      'params' => array('page' => $page->slug), 
      'containerClass' => 'page', 
     ); 
    } 
    $nav =new Zend_Navigation(); 
    $nav->addPage(
     array(
      'label' => 'Pages', 
      'route' => 'index', //route name 
      'params' => array(), //route parameters 
      'pages' => $pages 
     ) 
    ); 
    return $nav; 
    } 
} 

:이 아마도

답변

3

뷰 도우미가 당신이 그것을 원하는 4 페이지 뷰 스크립트에서 호출 할 수있는이 방법을 :(위해 나는 정말 캔트에 표시하는 예를 찾아 뷰 스크립트에서 :

<?php 
$nav = $this->shortNav(); 
echo $this->navigation($nav); 

보기 도우미에서 당신은 당신이 원하는 페이지 만 선택을 모두 가져 변경해야하고 뷰 스크립트에서 당신은 문이 보여 경우에 반향을 포장해야합니다 표시하려는 페이지에서만 가능합니다.

희망이 유용합니다.

+0

안녕하세요 Richard, 샘플 코드를 이용해 주셔서 감사합니다. 나는 그것을 시험해 보았는데, 그것은 정말로 바위 낀다! –