前のページmagento 2にリダイレクトする方法は?


14

magento 2のカスタムアクションから前のページにリダイレクトする方法

回答:


41

コントローラーで次のコードを記述します。

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;
    }
}

このコードは私のために機能します。あなたにも役立つことを願っています。


私のモジュール@ ND17
Learing_Coderの

あなたのアクションはすべてのページに使用していない場合@PranayKまずXMLファイルを追加する必要はありませんよりも、レンダリング、あなたの問題が何であるかを教えて
ND17

ホームページに戻る必要があるときにリストページに来たと仮定すると、リファラーURLにはリストページurl @ ND17が表示されます
Learing_Coder

前に戻る必要があるとき、何かアクションを実行しますか?たとえば、何かをクリックしますか?
ND17

はい、クリックで戻るリンクがあります。ホームページに戻る必要があります。それはリストページにのみあります。@ ND17
Learing_Coder

15

これは、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\ResultInterfaceMagento\Framework\App\ResponseInterface。幸いにも_redirectこの方法は、このように、これらのいずれかの行うことは賢明である:return $this->_redirect($this->_redirect->getRefererUrl());
clockworkgeek

バックエンドのためにクール。Magento 2.2.6で素晴らしい動作をします。
ジェイディップシンパーマー

これは、前のページにリダイレクトする正しい方法です。ありがとう
Aveshナイク

2

コントローラクラスで次のコードを使用してください。

$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;

ここで、resultRedirectFactoryは、クラスの親から継承できるクラス変数です。

参照URLが設定されているかどうかを確認するには、最初に$ _SERVER変数を印刷してください。このコードは私のために働いています。


0
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;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.