2009-08-19 85 views
0

有什麼辦法如何推入zend_navigation頁面類型mvc或uri並給它onclick屬性?zend_navigation和onclick屬性

array (
    'type' => 'uri', 
    'label' => 'Map', 
    'title' => 'Map', 
    'uri' => '#', 
    'click' => 'alert("show map");') 

我有子子菜單包括只觸發模式的鏈接。直到我仍然使用自己的「導航」解決方案,但我想使用zend的一個。

感謝

回答

0

我要指出,我知道簡單的解決方法 - 有一定的onload的JavaScript功能,根據附加的id's事件某些菜單,但我只是想保持它的簡單和維護整個菜單定義在一個地方。

0

你可以自己編寫菜單幫手而不是Navigation_Menu幫手。

主要方法來擴展是htmlify

<?php echo $this->navigation()->myMenu(); ?> 

看到完整的例子在這裏:Getting Zend_Navigation menu to work with jQuery's Fisheye

class MyApp_View_Helper_MyMenu extends Zend_View_Helper_Navigation_Menu 
{ 

    public function htmlify(Zend_Navigation_Page $page) 
    { 
     // ... put original code here ... 

     // get attribs for element 
     $attribs = array(
      'id'  => $page->getId(), 
      'title' => $title, 
      'class' => $page->getClass() 
     ); 

     // does page have a href? 
     if ($href = $page->getHref()) { 
      $element = 'a'; 
      $attribs['href'] = $href; 
      $attribs['target'] = $page->getTarget(); 
      $attribs['onclick'] = $page->getClick(); // the click attribute 
     } else { 
      $element = 'span'; 
     } 

     return '<' . $element . $this->_htmlAttribs($attribs) . '>' 
      . $this->view->escape($label) 
      . '</' . $element . '>'; 
    } 
} 

然後,通過調用你的助手