Dodałem nową niestandardową kartę w panelu klienta. Jeśli mój niestandardowy formularz zostanie pomyślnie wykonany, muszę przekierować na stronę główną klienta customer/account
. W jaki sposób mogę to zrobić?
15
Możesz bezpośrednio użyć poniższego kodu w kontrolerze akcji
$this->_redirect('customer/account/');
Użyj poniższego kodu:
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;
}
Mam nadzieję, że będzie to pomocne dla ciebie i dla innych.
Nie ma potrzeby deklarowania $ this-> resultRedirectFactory w konstrukcji, ponieważ jego auto jest deklarowane w konstrukcji \ Magento \ Framework \ App \ Action \ Action, do której powinien zostać rozszerzony niestandardowy kontroler. W przeciwnym razie wystąpi błąd podczas kompilacji: wynikRedirectFactory jest już zadeklarowany
źródło
Wypróbuj ten kod:
źródło
Wypróbuj ten kod, mam nadzieję, że możesz go użyć :)
źródło
$this->_url->getUrl()
brakujący szczegół dla mnie, dzięki!Wypróbuj ten kod w kontrolerze, aby przekierować na poprzednią stronę:
źródło
Przekierowanie do określonego adresu URL poniżej działa dla mnie dobrze. Sprawdź to proszę
Tutaj $ url jest pełnym adresem URL. np. http://yoursite.com/customer/account/create/
źródło