Zend_Navigation在问号后添加动态参数

时间:2011-12-10 19:23:06

标签: zend-framework zend-navigation zend-config

我正在使用Zend_Navigation'读取fron xml。 我想添加一个附加参数的菜单(从第一页的请求中获取)。

e.g 如果第一页是mysite.com/pages/page1?Id=42 然后 点击菜单会为每个链接添加“?Id = 42”

1 个答案:

答案 0 :(得分:0)

最简单的方法是扩展Zend_Controller_Action_Helper_Url类,并将查询字符串添加到parent::url()结果中。然后,您需要通过调用Zend_Navigation_Page_Mvc::setUrlHelper($yourUrlHelper)将您的网址助手注入mvc页面。

支持url helper的查询字符串示例:

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 : '');
    }
}