Respuestas:
En su controlador escriba el siguiente código:
namespace Company\Module\Controller\Index;
use Magento\Framework\Controller\ResultFactory;
class Actionname name extends \Magento\Framework\App\Action\Action
{
public function execute()
{
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
// Your code
$resultRedirect->setUrl($this->_redirect->getRefererUrl());
return $resultRedirect;
}
}
Este código funciona para mí. Espero que también te ayude.
Esto también podría ser una respuesta válida en una forma más corta Magento 2.0.4
espacio de nombres Nombre del proveedor \ Nombre del módulo \ Controlador \ Adminhtml \ Índice; clase Fetch extiende \ Magento \ Backend \ App \ Action { función pública execute () { // TODO: Implemente el método execute (). $ this -> _ redirect ($ this -> _ redirect-> getRefererUrl ()); } }
execute
espera que el método devuelva a Magento\Framework\Controller\ResultInterface
o a Magento\Framework\App\ResponseInterface
. Afortunadamente, el _redirect
método hace uno de esos, así que esto es aconsejable:return $this->_redirect($this->_redirect->getRefererUrl());
Utilice este código en su clase de controlador:
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;
Aquí resultRedirectFactory es una variable de clase que se puede heredar en su clase de allí padres.
Para verificar si la URL de referencia está configurada o no, imprima primero la variable $ _SERVER. Este código me está funcionando.
public function execute(){
$resultRedirect = $this->resultRedirectFactory->create();
try{
$this->messageManager->addSuccess(__('Redirection Sucessful.'));
}catch (\Exception $e) {
$this->messageManager->addError($e->getMessage());
}
$resultRedirect->setUrl($this->_redirect->getRefererUrl());
return $resultRedirect;
}