回答:
コントローラーで次のコードを記述します。
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;
}
}
このコードは私のために機能します。あなたにも役立つことを願っています。
これは、Magento 2.0.4の短い形式でも有効な回答になる可能性があります。
名前空間Vendorname \ Modulename \ Controller \ Adminhtml \ Index; クラスFetchは\ Magento \ Backend \ App \ Actionを拡張します { パブリック関数execute() { // TODO:execute()メソッドを実装します。 $ this-> _ redirect($ this-> _ redirect-> getRefererUrl()); } }
execute
この方法は、いずれかを返すことが期待されますMagento\Framework\Controller\ResultInterface
かMagento\Framework\App\ResponseInterface
。幸いにも_redirect
この方法は、このように、これらのいずれかの行うことは賢明である:return $this->_redirect($this->_redirect->getRefererUrl());
コントローラクラスで次のコードを使用してください。
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;
ここで、resultRedirectFactoryは、クラスの親から継承できるクラス変数です。
参照URLが設定されているかどうかを確認するには、最初に$ _SERVER変数を印刷してください。このコードは私のために働いています。
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;
}