Как протестировать или оформить страницу успеха заказа Или как остановить перенаправление страницы успеха в Magento 2


У меня проблема на странице успеха Magento 2, она отображается пустой после успешного размещения заказа. Я пытаюсь отладить его, но проблема заключается в том, что при попытке обновить страницу успеха после изменения кода она очищает текущий сеанс и перенаправляет на домашнюю страницу. Я хочу прекратить перенаправление страницы успеха и остаться на той же странице при обновлении страницы.

У кого-нибудь есть идеи в Magento 2? Пожалуйста, дайте мне знать, если кто-нибудь уже это делает?

Author: Andhi Irawan, 2018-01-29

4 answers

Вы можете остановить перенаправление страницы успешного оформления заказа после обновления страницы, проверьте код ниже

Vendor/magento/module-checkout/Controller/Onepage/Success.php

Закомментировать Строку Нет : 22

//$session->clearQuote();

Теперь вы можете отладить страницу успешного оформления заказа.

 50
Author: Suresh Chikani, 2018-01-29 07:26:03

Пожалуйста, откройте Magento\Checkout\Controller\Onepage\Success.php и комментарий под строкой

$session->clearQuote(); 

Для временных целей.

 2
Author: Nilesh Gosai, 2018-01-29 08:08:09

Вы также можете установить модуль Magepal, который отлично работает без каких-либо изменений кода. Убедитесь, что вы установили его в качестве разработчика требования:

composer require --dev magepal/magento2-preview-checkout-success-page
 1
Author: Vincent Marmiesse, 2020-05-20 10:48:35

Вы можете остановить перенаправление страницы успешного оформления заказа после обновления страницы, проверьте код ниже

Vendor/magento/module-checkout/Controller/Onepage/Success.php

Закомментировать Строку Нет : 22 И в Magento 2.3... Строка Нет : 26

//$session->clearQuote();

Пример:-

public function execute()
    {
        $session = $this->getOnepage()->getCheckout();
        if (!$this->_objectManager->get(\Magento\Checkout\Model\Session\SuccessValidator::class)->isValid()) {
            return $this->resultRedirectFactory->create()->setPath('checkout/cart');
        }

        // $session->clearQuote();            ***** COMMENT THIS LINE *****

        //@todo: Refactor it to match CQRS
        $resultPage = $this->resultPageFactory->create();
        $this->_eventManager->dispatch(
            'checkout_onepage_controller_success_action',
            [
                'order_ids' => [$session->getLastOrderId()],
                'order' => $session->getLastRealOrder()
            ]
        );
        return $resultPage;
    }

Теперь вы можете отладить страницу успешного оформления заказа.

 0
Author: Vishal Thakur, 2020-01-06 10:21:48