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