Respostas:
No Your Controller, escreva o seguinte 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;
}
}
Esse código funciona para mim, espero que também o ajude.
Esta também pode ser uma resposta válida em uma forma mais curta Magento 2.0.4
namespace Vendorname \ Nome do módulo \ Controller \ Adminhtml \ Index; A classe Fetch estende \ Magento \ Backend \ App \ Action { função pública execute () { // TODO: Implementa o método execute (). $ this -> _ redirect ($ this -> _ redirect-> getRefererUrl ()); } }
execute
método é esperado para retornar um Magento\Framework\Controller\ResultInterface
ou um Magento\Framework\App\ResponseInterface
. Felizmente, o _redirect
método faz um daqueles isso esta é aconselhável:return $this->_redirect($this->_redirect->getRefererUrl());
Por favor, use este código na sua classe de controlador:
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;
Aqui resultRedirectFactory é uma variável de classe que pode ser herdada da sua classe a partir dos pais.
Para verificar se o URL de referência está definido ou não, imprima primeiro a variável $ _SERVER. Este código está funcionando para mim.
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;
}