атрибут zend_navigation и onclick - PullRequest
       294

атрибут zend_navigation и onclick

0 голосов
/ 19 августа 2009

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

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

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

спасибо

Ответы [ 2 ]

0 голосов
/ 18 июля 2011

Вы можете написать свой собственный помощник по меню вместо Navigation_Menu помощник.

Основной метод расширения: 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(); ?>

см. Полный пример здесь: Получение меню Zend_Navigation для работы с рыбьим глазом jQuery

0 голосов
/ 19 августа 2009

Я должен упомянуть, что знаю простой обходной путь - есть некоторая функция загрузки javascript, которая присоединяет события к какому-либо меню в соответствии с их идентификаторами, но я просто хочу, чтобы оно было простым и поддерживало все определения меню в одном месте.

...