Я использую Zend-Framework 1.9.5 для создания веб-приложения, но его Url_Helper был довольно сложным для меня по поводу сброса параметров !, я знаю, что это хорошая функция (сохранение параметров), но в большинстве случаев Мне это не нужно!
Поэтому я подумываю переопределить Маршрутизатор по умолчанию, чтобы принудительно потерять его параметры, если только я не запрашиваю его или, возможно, не указываю определенные параметры, которые он сохраняет (lang или что-то в этом роде).
Также я хочу сделать его маршрутизатором по умолчанию, чтобы мне не приходилось редактировать мои контроллеры, представления, чтобы это сделать!
Есть предложения?
Обновление:
Я провел все утро, пытаясь написать свой помощник по URL Admin_View_Helper_Xurl
, но я не мог сделать ничего, что решило бы проблему:
<?php
class Admin_View_Helper_Xurl extends Zend_View_Helper_Abstract
{
public function xurl(array $urlOptions = array(), $name = 'default', $reset = false, $encode = true)
{
$router = Zend_Controller_Front::getInstance()->getRouter();
$wanted_params = array('module', 'controller', 'action', 'lang', 'page', 'search');
$route = $router->getCurrentRoute();
$something = anyWayToGetThatObjectOrClass();
$params = $something->getParams();
foreach($params as $key => $val) {
if (!in_array($key, $wanted_params)) {
$params[$key] = null; // OR uset($params[$key]);
}
}
$something->clearParams();
$something->setParams($params);
return $router->assemble($urlOptions, $name, $reset, $encode);
}
}
Я пытался получить текущие параметры URL-адреса, отфильтровать их, очистить текущие параметры и передать мои отфильтрованные, но я не смог ничего сделать, если бы он не редактировал один код Zend_Framework: (.
Спасибо