2009-08-19 3 views
0

есть ли способ, как нажимать на страницу zend_navigation типа mvc или uri и давать атрибут onclick?zend_navigation и атрибут onclick

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

У меня есть вспомогательные подменю, включающие ссылки, которые срабатывают только модально. до сих пор я использую свое собственное «навигационное» решение, но я хочу использовать zend's one.

поблагодарить

ответ

0

я должен упомянуть, что я знаю простой обходной путь - есть OnLoad Javascript функции, придают события в некоторое меню в соответствии с их id's, но я просто хочу, чтобы сохранить его простым и поддерживать все определение меню в одном месте ,

0

Вы можете написать свое собственное меню хелпера вместо Navigation_Menu helper.

Основной метод расширения является htmlify:

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 . '>'; 
    } 
} 

Затем вызвать помощник с помощью:

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

см полный пример здесь: Getting Zend_Navigation menu to work with jQuery's Fisheye

Смежные вопросы