2010-05-07 4 views
0

내 URL 작성을 위해 Zend URL보기 도우미를 사용합니다. Everythings은 내가 원했던 것과 정확히 똑같이 작동합니다. 단 한가지를 제외하고 : URL에서 공백을 대체하는 데 사용되는 문자는 더하기 (+)입니다. 나는 그것이 'min'(-)이되고 싶습니다. 이걸 어떻게 바꿀 수 있니?Zend Url의 분리 문자를 변경하는 방법은 무엇입니까?

예 : 지금 :/NL/nieuws/bericht/3/제목/새로운 ** + affiches 위시 :/NL/nieuws/bericht/3/제목/새로운 - **는

affiches 어드바이스에 감사드립니다!

답변

1

이것은 설명서에 나와 있지 않지만 Zend URL보기 도우미가 chainNameSeparator이라는 $urlOptions 배열에 매개 변수를 사용할 수있는 것 같습니다. 당신이 찾고있는 것이라는 보장은 없지만 그걸 가지고 노는 것을 시도하고 그것이 무엇인가를 변경하는지보십시오.

+1

이것은 매개 변수 중 하나에서 발생하는'urlencode()'의 결과입니다. 'chainNameSeparator'는 루트를 연결할 때 사용됩니다. 아마도 당신은'Zend_Controller_Dispatcher_Abstract'에서'setWordDelimiter()'를 생각하고있을 것입니다. – awgy

+0

아, 알겠습니다. ZF를 사용한 지 얼마되지 않았습니다. – ABach

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 인코딩이 라우터에 의해 발생하기 전에 공간이 어떤 필요한 경로 매개 변수에 대한 변경이 방법.

관련 문제