Если я перезагружаю checkout/onepage/success
страницу, меня направляют в корзину.
Поэтому при отладке или стилизации страницы успеха заказа мне всегда нужно сделать новый заказ.
Как я могу сделать это более эффективно?
checkout
development
Alex
источник
источник
Ответы:
Вы можете временно взломать ядро во время разработки:
В
/app/code/core/Mage/Checkout/controllers/OnepageController.php
редактированииsuccessAction()
.Закомментируйте строку
$session->clear();
. Теперь вы можете сделать один заказ и обновлять страницу так часто, как захотите.Если вы даже не хотите делать заказ в каждом браузере, например, при проведении кросс-браузерного тестирования, вы также можете просто каждый раз инициализировать сеанс.
Выберите идентификатор заказа и идентификатор цитаты из таблицы
sales_flat_order
(поля:entity_id
иquote_id
). Например через:Затем измените начало функции следующим образом:
и заменить
INSERT_....
идентификаторами.Теперь вы всегда можете позвонить
checkout/onepage/success
Пока вы на него, вы можете протестировать ,
failureAction()
а также, вИзмененное действие будет выглядеть так
Теперь вы всегда можете позвонить
checkout/onepage/failure
источник
\vendor\magento\module-checkout\Controller\Onepage\Success.php
Вам нужно изменить successAction () в
Модифицированное действие, как это
источник
$lastOrderId
не определено, что приведет к уведомлению и может привести к побочным эффектам в шаблоне.Надеюсь, я не слишком саморекламируюсь, но я создал бесплатное расширение, которое можно быстро установить в Magento и которое позволяет предварительно просмотреть страницу успеха заказа для любого заказа - просто перейдя по URL-адресу: http: // www. yireo.com/software/magento-extensions/checkout-tester
источник
Я думаю, что лучше просто прокомментировать $ session-> clear (); и добавлять продукты вручную, это работало для меня, но комментирование всего действия дало мне синтаксические ошибки.
источник
Для Magento 2:
Если вы хотите стилизовать или настроить страницу успеха после успешной заявки, страница перенаправляется на страницу корзины.
Теперь решение здесь:
Перейти, чтобы
vendor/magento/module-checkout/Controller/Onepage
открытьSuccess.php
файл.В этом файле вы видите ниже код
Просто прокомментируйте этот код, и ваша проблема решена. После комментария вы не будете перенаправлены на страницу корзины.
источник
Вместо того, чтобы отправлять электронные письма из локальной копии / копии для разработки, вы можете записать содержимое электронной почты в файл, а затем просто посмотреть локально, что, на мой взгляд, будет очень удобно. Вот как это может быть достигнуто. Сначала все письма отправляются с
Найдите это и добавьте следующие строки.
После этого после создания любого заказа в корне документа Magento будет создан email.html, который вы можете открыть в браузере, чтобы увидеть результат.
Далее, для отправки / повторной отправки любых электронных писем с заказами вы можете просто войти в систему администратора, и для каждого заказа есть кнопка «Отправить электронную почту», которая запустит этот сценарий, и вы увидите новый измененный шаблон, записанный в том же файле. Я думаю, что это один из лучших способов увидеть заказ или любые другие электронные письма.
Обратите внимание, чтобы удалить добавленный код, когда вы закончите.
источник
Вы должны обновить код:
Функция обновления:
Просто прокомментируйте:
источник
Magento 2
Как отмечает другой ответ, вы можете закомментировать перенаправление
Magento\Checkout\Controller\Onepage\Success::execute
и принудительно загрузить страницу успеха оформления заказа. Но когда блок,Magento\Checkout\Block\Onepage\Success
загружает, никакие данные заказа не будут присутствовать, потомуMagento\Checkout\Model\Session::getLastRealOrder
что не будет возвращать заказ. Лучшим вариантом будет перехватчик после метода execute класса контроллера, где вы можете установить значениеlastRealOrderId
в сеансе проверки.Этот подход также дает возможность отправить
checkout_onepage_controller_success_action
событие с желаемым вами заказом. Событие вызовет наблюдателейMagento\GoogleAdwords\Observer\SetConversionValueObserver
иMagento\GoogleAnalytics\Observer\SetGoogleAnalyticsOnOrderSuccessPageViewObserver
ваши тестовые данные.Следующее является довольно простым модулем, создающим перехватчик, описанный выше, и позволяет устанавливать порядок, добавляя
order
параметр запроса с желаемым идентификатором приращения к URL-адресу страницы успеха. В настоящее время это не сработает на маршруте успеха с мультидоставкой. Его можно скачать на github: https://github.com/pmclain/magento2-successtestисточник