1

I have created an observer for customer_logout event and on its observer, I want to redirect the customer to a specific page. how can be done ? In Magento1.9.x as

   $observer->getControllerAction()->setRedirectWithCookieCheck($url);

I want replacement of above for the Magento2.x.

Thanks.

1
<?php
namespace HS\OneStepCheckout\Observer;

use Magento\Framework\Event\ObserverInterface;

class CheckoutCartAddProductComplete implements ObserverInterface
{
    protected $response;

    public function __construct(
        ..\\
        \Magento\Framework\App\ResponseInterface $response
    ) {
        ..\\
        $this->response = $response;
    }

    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $url = "pass correct url here";
        $controller = $observer->getControllerAction();
        $this->response->setRedirect($url)->sendResponse();
        exit;
    }
}
|improve this answer|||||
  • got following error : PHP Fatal error: Uncaught Error: Call to a member function getResponse() – Manish Jul 5 '16 at 5:46
  • have you remove var folder? – Rakesh Jesadiya Jul 5 '16 at 5:47
  • No, should I need to recompile ?? – Manish Jul 5 '16 at 5:48
  • Same issue, I think $controller doesnot get value from observer any alternate solution. – Manish Jul 5 '16 at 5:55
  • you can get hint from core file, magento2/vendor/magento/module-captcha/Observer/CheckUserLoginObserver.php – Rakesh Jesadiya Jul 5 '16 at 5:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.