0

我正在使用 Zend_Navigation 读取来自 xml 的内容。我想在从它创建的菜单中添加一个附加参数(从第一页的请求中获取)。

例如,如果第一页是 mysite.com/pages/page1?Id=42,那么单击菜单会将“?Id=42”添加到每个链接。

4

1 回答 1

0

最简单的方法是扩展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 : '');
    }
}
于 2012-03-23T00:24:38.120 回答