2013-02-19 2 views
0

here과 같이 zend url 도우미가 추가로 /query 인 URL 주소를 생성 중입니다.ZF2 HTTP 쿼리 라우터에서 사용자 지정 매개 변수 건너 뛰기

'my_name' => array(
       'type' => 'segment', 
       'options' => array(
        'route' => '/my_name/:id/some_action[/:id2]', 
        'constraints' => array(
         'id' => '[0-9]+', 
         'id2' => '[0-9]+', 
        ), 
        'defaults' => array(
         'controller' => 'MyController', 
        ), 
       ), 
       'may_terminate' => true, 
       'child_routes' => array(
        'query' => array(
         'type' => 'Query', 
         'options' => array(
          'defaults' => array(
          ) 
         ) 
        ), 
       ), 
      ), 

내가 링크를 생성 수신, 그 다음과 같습니다 : 구성 파일에서 나는 그런 설정 라우터가 내가하고 싶은 것은, controlleraction PARAMS을 제거하는 것입니다

http://my_address/my_name/:id/some_action/?controller=MyController&limit=1&action=get&offset=2 

하는 I 설정하지 마시고 자신이 제공 한 매개 변수 만 표시하십시오.

라우터 설정에서 설정할 수있는 옵션이 있습니까? 아니면 내가 원하는 걸 얻을 수있는 다른 방법이 있을까요?

+0

링크 생성을 위해 URL 도우미에서 어떤 코드를 사용하고 있습니까? – Andrew

+0

이것은'Zend \ View \ Helper \ Url'이고'__invoke()'는 생성에 사용됩니다. – acabala

답변

0

경로 또는 기본값에 지정된 작업이 없습니다. 경로가 일치 할 때 호출 할 동작 (메서드)을 식별 할 수 있어야합니다.

'route' => '/my_name/:id/:action[/:id2]', // allow action passed thru 
'constraints' => array(
    'id' => '[0-9]+', 
    'id2' => '[0-9]+', 
), 
'defaults' => array(
    'controller' => 'MyController', 
    'action'  => 'some_action', // or specify a default action to use 
), 
+0

'AbstractRestfulController'를 사용하고 HTTP 메소드와 URL 부분 ('some_action')을 기반으로 적절한 액션을 선택합니다. 그렇게하면 router.which 액션을 호출 할 수있는 가능성이 없다고 생각합니다. – acabala

+0

아, 당신은 결코 언급 :) – Andrew