이전 페이지 magento 2로 리디렉션하는 방법은 무엇입니까?


14

magento 2의 사용자 지정 작업에서 이전 페이지로 리디렉션하는 방법

답변:


42

컨트롤러에서 다음 코드를 작성하십시오.

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 @ 내 모듈의 동작에 관련된 xml 파일 될 필요성이다
Learing_Coder

@PranayK 먼저 문제가 무엇인지 알려주세요. 액션이 페이지 렌더링에 사용되지 않으면 XML 파일을 추가 할 필요가 없습니다
ND17

다시 돌아 가야 할 때 목록 페이지에 갔다고 가정하면 홈 페이지에 refererurl에 목록 페이지 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메소드는 a Magento\Framework\Controller\ResultInterface또는 a 를 리턴해야 합니다 Magento\Framework\App\ResponseInterface. 운 좋게도이 _redirect방법 중 하나를 수행하는 것이 좋습니다.return $this->_redirect($this->_redirect->getRefererUrl());
clockworkgeek

백엔드를 위해 시원합니다. Magento 2.2.6에서 훌륭하게 작동합니다.
jaydip sinh Parmar

이전 페이지로 리디렉션하는 올바른 방법입니다. 감사합니다
Avesh Naik

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.