magento 2 redirect url with parameters from controller
-
13-04-2021 - |
Pregunta
I am trying to redirect to a different controller from one controller . I also want to set an Url parameter along with the redirect. But this is throwing me an error
Uncaught Error: Call to undefined method Magento\Backend\Model\View\Result\Redirect\Interceptor::setParam()
Here is my code.
public function execute()
{
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('customer/index/new');
$resultRedirect->setParam('myname', 'Nuno Sousa');
return $resultRedirect;
}
What is wrong with the above code? or is there any other way?
Solución
You can pass param like this :
$params = array('myname' => 'Nuno Sousa');
$resultRedirect->setPath('customer/index/new', ['params' => $params]);
You can retrive using this :
$this->getRequest()->getParams();
Otros consejos
I am using Magento 2.3.4
$params = array('myname' => 'Nuno Sousa');
Somehow this did not work for me.
$resultRedirect->setPath('[modulename]/[controllername]/[actionname]', ['params' => $params]);
This worked.
$resultRedirect->setPath('[modulename]/[controllername]/[actionname]', $params);
Just in case if anyone having this same issue
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange