Я добавил новую пользовательскую вкладку в личную панель клиента. Если моя пользовательская форма успешно выполнена, мне нужно перенаправить на главную страницу клиента customer/account
. Как я могу это сделать?
14
Вы можете напрямую использовать приведенный ниже код в контроллере действий
$this->_redirect('customer/account/');
Используйте код ниже:
protected $resultRedirect;
public function __construct(\Magento\Framework\Controller\ResultFactory $result){
$this->resultRedirect = $result;
}
public function execute()
{
$resultRedirect = $this->resultRedirect->create(ResultFactory::TYPE_REDIRECT);
$resultRedirect->setUrl($this->_redirect->getRefererUrl());
return $resultRedirect;
}
Надеюсь, это будет полезно для вас и для других.
Нет необходимости объявлять $ this-> resultRedirectFactory в конструкции как ее автоматически объявленную в конструкции \ Magento \ Framework \ App \ Action \ Action, до которой должен распространяться ваш пользовательский контроллер. В противном случае вы получите ошибку во время компиляции: resultRedirectFactory уже объявлен
источник
Попробуйте этот код:
источник
Попробуйте этот код, я надеюсь, что вы можете использовать его :)
источник
$this->_url->getUrl()
было недостающей деталью для меня, спасибо!Попробуйте этот код в контроллере для перенаправления на предыдущую страницу:
источник
Переадресация на определенный URL, указанный ниже, прекрасно работает для меня. Пожалуйста, проверьте это
Здесь $ url - это полный URL. например, http://yoursite.com/customer/account/create/
источник