如何改变Zend Url的分离特征?

时间:2010-05-07 14:03:03

标签: zend-framework url

我使用Zend URL视图助手来构建我的网址。 Everythings完全按照我的意愿工作,除了一件事:用于替换url中的空格的字符是加号(+)。我希望它是'min'( - )。我怎么能改变这个?

实施例:   现在:/ nl / nieuws / bericht / 3 / title / nieuwe ** + affiches   希望:/ nl / nieuws / bericht / 3 / title / nieuwe - ** affiches

先谢谢!

2 个答案:

答案 0 :(得分:1)

这不在任何地方的文档中,但Zend URL视图助手似乎可以在其名为$urlOptions的{​​{1}}数组中获取参数。不能保证你正在寻找的东西,但尝试使用它,看看它是否有任何改变。

答案 1 :(得分:1)

可能会发生这种情况,因为默认情况下,Zend_View_Helper_Urlurlencode()发送给您的内容,这会将空格转换为+。我的建议是为代码中需要特殊变形的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编码之前,会根据任何必要的路由参数更改空格。