Мы изменили файл history.phtml Magento, чтобы отображались все заказы без каких-либо ограничений для веб-сайта с ограниченным доступом. Это работает, но мы столкнулись с проблемой при попытке распечатать или просмотреть заказ. Я отладил, и проблема заключается в 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 для переопределения этого класса?