제한된 웹 사이트에 대한 제한없이 Magento의 history.phtml을 수정하여 모든 주문을 표시했습니다. 이것은 작동하지만 주문을 인쇄하거나 보려고 할 때 문제가 발생했습니다. 디버깅을했고 Magento의 _canViewOrder
(Mage_Sales_Controller_Abstract
에 위치)으로 문제가 발생합니다. 우리는 여기에 몇 가지 사용자 정의 개발이, 우리는 필요Magento Controller_Abstract 덮어 쓰기
if ($order->getId() && $order->getCustomerId() && ($order->getCustomerId() == $customerId)
&& in_array($order->getState(), $availableStates, $strict = true)
: 그 함수에서 추가 및 당연히 논리적 체크 캔보기에 로그온 한 사용자가/요청 순서를 인쇄하는 경우 확인하기 위해 구현 제한을 제거하려면이 메서드을 재정의하십시오. 불행히도 컨트롤러 클래스를 무시하는 방법을 찾을 수 없습니다.
라우터/컨트롤러를 재정의하는 방법을 알고 있지만이 컨트롤러는 컨트롤러 폴더에 있으며 추상 클래스입니다.
누구나 올바른 방향으로 나를 가리켜 주거나 샘플 config.xml을 제공하여이 클래스를 재정의 할 수 있습니까?
우선 : 귀하의 의견에 감사드립니다. 나는 그와 같은 전체 파일을 오버라이드 할 수 있지만, 그렇게하지 않는 것이 좋습니다. 우리는 항상 확장의 의미로 파일을 오버라이드합니다. 우리가 단지 하나의 메소드를 오버라이드하거나 단지 부모를 사용할 수있는 시간과 대부분의 시간을 오버라이드해야한다는 것, 그리고 그 후에 몇 가지 일을하는 것보다. 우리가 말한대로 컨트롤러 밑을 덮어 쓰려고하는데 최악의 IMO입니다. – JNDPNT