Как перенаправить на страницу оформления заказа после добавления в корзину на странице одного продукта Magento 2?

Я хочу перенаправить пользователя на страницу оформления заказа при добавлении товара в корзину, пожалуйста, помогите.


person Inderjeet Singh Behl    schedule 08.08.2018    source источник
comment
пожалуйста, проверьте эту ссылку magento.stackexchange. ком/вопросы/115039/   -  person Shinoy Shaji    schedule 08.08.2018
comment
@shinoy shaji Пожалуйста, прочитайте мой вопрос еще раз, и я говорю о Magento 2. Спасибо за ваше время.   -  person Inderjeet Singh Behl    schedule 09.08.2018
comment
Спасибо всем за ответы. Я решил это сам.   -  person Inderjeet Singh Behl    schedule 22.10.2018
comment
как ты это делаешь??   -  person alexey boltynov    schedule 03.04.2019
comment
@alexeyboltynov Пожалуйста, проверьте мой ответ и примите его, если это вам поможет.   -  person Inderjeet Singh Behl    schedule 19.05.2019


Ответы (1)


@alexeyboltynov Сначала у вас есть возможность пропустить корзину от администратора magento 2. вы можете легко найти эту опцию в настройках вашей темы.

И вам нужно перезаписать основной путь к файлу: "vendor\magento\module-checkout\Controller\Cart\Add.php"

Найти код:

if (!$this->_checkoutSession->getNoCartRedirect(true)) {
    if (!$this->cart->getQuote()->getHasError()) {
        if ($this->shouldRedirectToCart()) {
            $message = __(
                'You added %1 to your shopping cart.',
                     $product->getName()
                );
                    $this->messageManager->addSuccessMessage($message);
        } else {
                        $this->messageManager->addComplexSuccessMessage(
                            'addCartSuccessMessage',
                            [
                                'product_name' => $product->getName(),
                                'cart_url' => $this->getCartUrl(),
                            ]
                        );
                    }
                }
                return $this->goBack(null, $product);
            }

Замените его на:

if (!$this->_checkoutSession->getNoCartRedirect(true)) {
           return $this->resultRedirectFactory->create()->setPath('checkout', ['_current' => true]);
            }

Это перенаправит пользователей на страницу оформления заказа после добавления товара в корзину. И удалены сообщения об успешном добавлении в корзину.

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

person Inderjeet Singh Behl    schedule 18.05.2019