[英]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.