2009-08-19 86 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 . '>'; 
    } 
} 

然后,通过调用你的助手