Today we talk about how in Magento 2 redirect user observer custom controller. This tutorial includes example of redirect user from observer. Using this example you can redirect from block, helper and model . You need to inject \Magento\Framework\App\Response\Http class to make the redirection from anywhere.So let’s start with our example.
<?php
namespace QaisarSatti\HellowWorld\Observer;
use \Magento\Framework\Event\Observer;
use \Magento\Framework\Event\ObserverInterface;
class [YourClass] implements ObserverInterface {
protected $_redirect;
protected $_url;
public function __construct(
\Magento\Framework\UrlInterface $url,
\Magento\Framework\App\Response\Http $redirect,
) {
$this->_url = $url;
$this->_redirect = $redirect;
}
public function execute(Observer $observer) {
$event = $observer->getEvent();
$CustomRedirectionUrl = $this->_url->getUrl('test/test/test');
$this->_redirect->setRedirect($CustomRedirectionUrl);
}
}
namespace QaisarSatti\HellowWorld\Observer;
use \Magento\Framework\Event\Observer;
use \Magento\Framework\Event\ObserverInterface;
class [YourClass] implements ObserverInterface {
protected $_redirect;
protected $_url;
public function __construct(
\Magento\Framework\UrlInterface $url,
\Magento\Framework\App\Response\Http $redirect,
) {
$this->_url = $url;
$this->_redirect = $redirect;
}
public function execute(Observer $observer) {
$event = $observer->getEvent();
$CustomRedirectionUrl = $this->_url->getUrl('test/test/test');
$this->_redirect->setRedirect($CustomRedirectionUrl);
}
}
Note: You can use this example with any observer event.