URL-адрес перенаправления magento 2 с параметрами от контроллера


Я пытаюсь перенаправить на другой контроллер с одного контроллера. Я также хочу установить параметр Url вместе с перенаправлением. Но это вызывает у меня ошибку

Неперехваченная ошибка: Вызов неопределенного метода Magento\Серверная часть\Модель\Представление\Результат\Перенаправление\Перехватчик::setParam()

Вот мой код.

public function execute()
{

    $resultRedirect = $this->resultRedirectFactory->create();
    $resultRedirect->setPath('customer/index/new');
    $resultRedirect->setParam('myname', 'Nuno Sousa');
    return $resultRedirect;
}

Что не так с приведенным выше кодом? или есть какой-то другой способ?

Author: Melvin, 2018-10-08

2 answers

Вы можете передать параметры следующим образом:

$params = array('myname' => 'Nuno Sousa');
$resultRedirect->setPath('customer/index/new', ['params' => $params]);

Вы можете повторить, используя это:

$this->getRequest()->getParams();
 6
Author: Rohan Hapani, 2018-10-08 13:37:46

Я использую Magento 2.3.4

$params = array('myname' => 'Nuno Sousa');

Почему-то это не сработало для меня.

$resultRedirect->setPath('[modulename]/[controllername]/[actionname]', ['params' => $params]);

Это сработало.

$resultRedirect->setPath('[modulename]/[controllername]/[actionname]', $params);

На всякий случай, если у кого-то возникнет такая же проблема

 3
Author: Klaus Mikaelson, 2020-03-28 03:47:06