Это, вероятно, происходит потому, что по умолчанию Zend_View_Helper_Url
будет urlencode()
то, что вы отправляете, что будет переводить пробелы в +
. Я предлагаю вам создать новый помощник вида для типа URL в вашем коде, который нуждается в специальном перегибе.
Что-то вроде:
class Default_View_Helper_SpecialUrl extends Zend_View_Helper_Abstract
{
public function specialUrl(array $opts = array(), $name = null, $reset = false, $encode = true)
{
if (!empty($opts['whatever'])) {
$opts['whatever'] = str_replace(' ', '-', $opts['whatever']);
}
$router = Zend_Controller_Front::getInstance()->getRouter();
return $router->assemble($opts, $name, $reset, $encode);
}
}
Таким образом, пробелы изменяются для любых необходимых параметров маршрута, прежде чем маршрутизатор выполняет кодирование URL.