我正在使用 Zend_Navigation 读取来自 xml 的内容。我想在从它创建的菜单中添加一个附加参数(从第一页的请求中获取)。
例如,如果第一页是 mysite.com/pages/page1?Id=42,那么单击菜单会将“?Id=42”添加到每个链接。
我正在使用 Zend_Navigation 读取来自 xml 的内容。我想在从它创建的菜单中添加一个附加参数(从第一页的请求中获取)。
例如,如果第一页是 mysite.com/pages/page1?Id=42,那么单击菜单会将“?Id=42”添加到每个链接。
最简单的方法是扩展Zend_Controller_Action_Helper_Url
类,并将查询字符串添加到parent::url()
结果中。然后,您需要通过调用将 url 帮助程序注入 mvc 页面Zend_Navigation_Page_Mvc::setUrlHelper($yourUrlHelper)
。
查询字符串支持的 url 助手示例:
class My_Helper_Url extends Zend_Controller_Action_Helper_Url
{
public function url($urlOptions = array(), $name = null, $reset = false, $encode = true)
{
$queryString = $this->getRequest()->getServer('QUERY_STRING');
return parent::url($urlOptions, $name, $reset, $encode) .
($queryString ? '?' . $queryString : '');
}
}