2011-09-05 3 views
5

Magento adminpanel의 내 모듈은 http://example.com/index.php/mymodule/ ...과 같은 URL을 가지고 있으며 주문과 함께 맞춤 그리드를 포함합니다. 그리드 행을 클릭하면 사용자를 표준 "주문보기"페이지로 리디렉션하고 싶습니다. http://example.com/index.php/sales_order/view/Magento에서 getUrl()을 사용하여 다른 모듈을 참조하는 방법은 무엇입니까?

public function getRowUrl($row) 
{ 
    if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) { 
     return $this->getUrl('sales_order/view', array('order_id' => $row->getId())); 
    } 
    return false; 
} 

그러나이 URL 점 ... 대신 http://example.com/index.php/관리자의/SALES_ORDER /보기/... 어떤 제안?

UPD. config.xml에 :

<admin> 
    <routers> 
     <mymodule> 
      <use>admin</use> 
      <args> 
       <module>Foo_Mymodule</module> 
       <frontName>mymodule</frontName> 
      </args> 
     </mymodule> 
    </routers> 
</admin> 
+1

[Magento admin에서 페이지/섹션의 URL을 얻는 방법] (http://stackoverflow.com/questions/6877683/how-to-get-the-url-of)에서 올바른 구성을 살펴보십시오. -a-page-section-in-magento-admin/6881211 # 6881211) – clockworkgeek

+0

@clockworkgeek 감사합니다. 내 업데이트 된 게시물을 참조하십시오. config.xml의 경우와 비슷하게 보입니다. 그렇습니까? – silex

+0

'frontName'은'mymodule'이지만 예제를 좀 더 가깝게 복사하면 대신'admin'을 사용할 수 있습니다. – clockworkgeek

답변

7

는 아주 간단 당신은 */sales_order/viewsales_order/view를 교체해야합니다. *은 관리자의 adminhtml 인 현재 라우터를 사용한다는 것을 의미합니다.

편집

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <modules> 
        <mymodule after="Mage_Adminhtml">Foo_Mymodule_Adminhtml</mymodule> 
       </modules> 
      </args> 
     </adminhtml> 
    </routers> 
</admin> 

지금 값 */mymodule/index 차례로 파일 Foo/Mymodule/controllers/Adminhtml/MymoduleController.php을로드 할 것이다 URL http://example.com/index.php/admin/mymodule/index를 생성하는 방법을 찾기 위해 노력할 것입니다, 당신의 설정에 넣고 더 자세히 설명하기 Foo_Mymodule_Adminhtml_MymoduleController::indexAction(). 메소드가 있으면 실행되고, 그렇지 않으면 관리 라우터가 인계되어 404를 표시하거나 대시 보드로 리디렉션합니다.

+0

'*/sales_order/view'는'http : // example.com/index.php/mymodule/sales_order/view /'를 가리 킵니다. 나는 또한 놀랐다. – silex

+1

위의 의견에 감사드립니다. 레이아웃 설정에서 경로 및 경로를 완전히 새로 작성했습니다. 이제는 모든 것이 '*/sales_order/view'와 함께 잘 작동합니다. – silex

+0

어떻게 재 작성 했습니까? 나는 똑같은 문제가있다! **/sales_order/view *를 사용하면 * index.php/admin/sales_order/view/* 대신 * index.php/mymodule/sales_order/view/*로 리디렉션됩니다. 당신의 도움을 주셔서 감사합니다! – EOB