Magento の history.phtml を変更して、制限された Web サイトの制限なしですべての注文を表示できるようにしました。これは機能していますが、注文を印刷または表示しようとしたときに問題が発生しました。デバッグしましたが、問題は Magento にあります_canViewOrder
(場所は にありMage_Sales_Controller_Abstract
ます)。その関数では、ログインしているユーザーが要求された注文を表示/印刷できるかどうかを確認するために、追加の当然の論理チェックが実装されています。
if ($order->getId() && $order->getCustomerId() && ($order->getCustomerId() == $customerId)
&& in_array($order->getState(), $availableStates, $strict = true)
ここではカスタム開発を行っているため、このメソッドをオーバーライドして制限を削除する必要があります。残念ながら、 Controllerクラスをオーバーライドする方法はどこにもありません。
ルーター/コントローラーをオーバーライドする方法はわかっていますが、これは Controller フォルダーにあり、抽象クラスです。
誰かが私を正しい方向に向けたり、このクラスをオーバーライドするためのサンプル config.xml を提供したりできますか?