Как изменить разделительный символ Zend Url? - PullRequest
0 голосов
/ 07 мая 2010

Я использую Zend URL View Helper для создания моих URL.Все работает именно так, как я хотел бы, за исключением одного: символ, используемый для замены пробелов в URL, является плюсом (+).Я хотел бы, чтобы это было «мин» (-).Как я могу это изменить?

Пример: сейчас: / nl / nieuws / bericht / 3 / title / nieuwe ** + affiches1004 * - ** афиши

Спасибо заранее!

Ответы [ 2 ]

1 голос
/ 08 мая 2010

Это, вероятно, происходит потому, что по умолчанию 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.

1 голос
/ 07 мая 2010

Этого нет нигде в документации, но, похоже, что помощник вида Zend URL может принимать параметр в своем массиве $urlOptions с именем chainNameSeparator.Нет гарантии, что это то, что вы ищете, но попробуйте поиграть с этим и посмотреть, изменит ли это что-нибудь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...