1
當我在我的視圖中呈現Zend_Nagivation
實例時,默認情況下,定位標記的ID分配了視圖助手的前綴,後面跟着破折號,然後是頁面的ID。第1頁的錨ID的如何設置Zend_View_Helper_Navigation_XXX使用的ID前綴
實例(全部使用同一Zend_Nagivation
實例):
Zend_View_Helper_Navigation_Menu
= 「菜單1」Zend_View_Helper_Navigation_Breadcrumbs
= 「麪包屑-1」My_View_Helper_Navigation_MyMenu
=「mymenu- 1「
這對大多數情況是完美的,但我想手動設置該前綴,我找不到一種方法來做到這一點。
解決方案
指定前綴可以通過添加下面的代碼,然後調用setIdPrefix()
渲染時完成:
class My_View_Helper_Navigation_MyMenu extends Zend_View_Helper_Navigation_Menu
{
protected $_idPrefix = null;
/**
* Set the id prefix to use for _normalizeId()
*
* @param string $prefix
* @return My_View_Helper_Navigation_MyMenu
*/
public function setIdPrefix($prefix)
{
if (is_string($prefix)) {
$this->_idPrefix = $prefix;
}
return $this;
}
/**
* Use the id prefix specified or proxy to the parent
*
* @param string $value
* @return string
*/
protected function _normalizeId($value)
{
if (is_null($this->_idPrefix)) {
return parent::_normalizeId($value);
} else {
return $this->_idPrefix . '-' . $value;
}
}
}
如何配置導航?從ini?類? – Iznogood 2010-12-08 22:59:23
`Zend_Navigation`實例,我目前有四個,兩個是從數據庫中構建的,另外兩個來自xml文件。無論數據源如何,都會發生這種情況。 – Sonny 2010-12-08 23:03:29