簡體   English   中英

zend_navigation和onclick屬性

[英]zend_navigation and onclick attribute

有什么方法可以推入zend_navigation頁面類型mvc或uri並為其賦予onclick屬性?

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

我的子菜單包含僅觸發模式的鏈接。 到目前為止,我使用自己的“導航”解決方案,但我想使用zend的解決方案。

謝謝

我應該提到,我知道一種簡單的解決方法-具有一些onload javascript函數,可根據其ID將事件附加到某些菜單,但我只想保持簡單並在一個地方維護整個菜單定義。

您可以編寫自己的菜單助手,而不是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的Fisheye一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM