Antworten:
In Ihrem Controller schreiben Sie folgenden Code:
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;
}
}
Dieser Code funktioniert für mich. Hoffentlich hilft er Ihnen auch.
Dies könnte auch eine gültige Antwort in kürzerer Form Magento 2.0.4 sein
Namespace Vendorname \ Modulname \ Controller \ Adminhtml \ Index; Klasse Fetch erweitert \ Magento \ Backend \ App \ Action { public function execute () { // TODO: Implementiere die Methode execute (). $ this -> _ redirect ($ this -> _ redirect-> getRefererUrl ()); } }
execute
wird erwartet, dass die Methode entweder a Magento\Framework\Controller\ResultInterface
oder a zurückgibt Magento\Framework\App\ResponseInterface
. Glücklicherweise macht die _redirect
Methode eine von denen, so dass dies ratsam ist:return $this->_redirect($this->_redirect->getRefererUrl());
Bitte verwenden Sie diesen Code in Ihrer Controller-Klasse:
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;
Hier ist resultRedirectFactory eine Klassenvariable, die in Ihrer Klasse von ihren Eltern geerbt werden kann.
Um zu überprüfen, ob die Verweis-URL festgelegt ist oder nicht, drucken Sie zuerst die Variable $ _SERVER. Dieser Code funktioniert für mich.
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;
}