Привет, ребята, я пытаюсь ограничить клиентов в интерфейсе на основе географического местоположения. Проблема заключается в том, что когда я пытаюсь отправить код состояния 403 от наблюдателя с помощью $observer->getControllerAction();, он возвращает значение null.
Пожалуйста, ознакомьтесь с кодом, который я использовал.
Любая помощь высоко ценится.
protected function denyAccess($observer)
{
$action = $observer->getControllerAction();
$response = $action->getResponse();
$response->clearBody()->setStatusCode(\Magento\Framework\App\Response\Http::STATUS_CODE_403);
$this->actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
}





Я нашел решение вышеуказанной проблемы, поскольку метод getControllerAction возвращает NULL, из-за чего дальнейший процесс не работал. Мне пришлось использовать приведенный ниже код, и все работало нормально.
protected function denyAccess($observer) { $response = $observer->getResponse(); $response->clearBody()->setStatusCode(\Magento\Framework\App\Response\Http::STATUS_CODE_403); $this->actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true); }