Родной чекаут в магенте состоит из нескольких шагов.
Моя задача заключается в том, что бы отправить кастомера на необходимый шаг чекаута.
Ситуация выглядит следующим образом:
В корзине лежат товары.
Кастомер нажимает кнопочку (которую мы создали)
И по волшебству оказывается к примеру на шаге выбора шиппинг метода.
Разумеется предыдущие шаги должны выполниться автоматически, т.е. мы за кастомера сабмитим биллинг и шиппинг адреса.
Пока я остановился на варианте: Повесить дополнительный блок на чекауте, в темплейте которого будет яваскрипт, который этим займется
Как пропустить шаги выбора адреса при оформлении заказа?
16.12.2011 13:02
На рынке уже имеется достаточное количество модулей, способных пропускать те или иные шаги при оформлении заказа.
Просто купите один из них и посмотрите, как он устроен внутри.
Решения там довольно длинные и сложные, чтобы публиковать их в форумном сообщении.
Просто купите один из них и посмотрите, как он устроен внутри.
Решения там довольно длинные и сложные, чтобы публиковать их в форумном сообщении.
16.12.2011 14:26
Речь идет не о том, как пропустить шаги, а как их автоматически заполнить.
Модуль должен автоматически пройти нужные шаги и работает только с залогиненными кастомерами у которых есть дефолтные адреса, что неимоверно упрощает задачу.
Модуль должен автоматически пройти нужные шаги и работает только с залогиненными кастомерами у которых есть дефолтные адреса, что неимоверно упрощает задачу.
16.12.2011 14:29
Я это и имел в виду.
О таких вещах спрашивают часто, готового короткого решения нет, хотя, очевидно, программированием или готовыми модулями задача решается.
О таких вещах спрашивают часто, готового короткого решения нет, хотя, очевидно, программированием или готовыми модулями задача решается.
23.12.2011 15:44
Решил проблемку следующим образом:
Зная id адреса мы его дописываем в урл и редиректим на него. Получается нечто такое:
domain.com/index.php/checkout/onepage/index/billing/2 - (billing - название параметра, 2 - id адреса)
В лайоуте своего модуля добавляем свой скрипт:
И сам код submitter.js:
собственно наш скрипт не проверяет какой параметр ему передают, а просто проверяет последнее значение.
но если кому надо, то допилить не сложно.
Зная id адреса мы его дописываем в урл и редиректим на него. Получается нечто такое:
domain.com/index.php/checkout/onepage/index/billing/2 - (billing - название параметра, 2 - id адреса)
В лайоуте своего модуля добавляем свой скрипт:
<checkout_onepage_index>
<reference name="head">
<action method="addJs">
<script>mymodule/submitter.js</script>
</action>
</reference>
</checkout_onepage_index>И сам код submitter.js:
Submitter = Class.create(
{
initialize:function () {
this.url = window.location.toString().split('/');
try {
this.id = parseInt(this.url.last())
} catch (e) {
}
},
submitBilling:function () {
if (this.id > 0) {
try {
$('billing-address-select').value = this.id;
$('billing:use_for_shipping_no').click();
billing.save();
} catch (e) {
setTimeout('mysubmitter.submitBilling()', 2);
}
}
}
}
);
mysubmitter = new Submitter();
mysubmitter.submitBilling();собственно наш скрипт не проверяет какой параметр ему передают, а просто проверяет последнее значение.
но если кому надо, то допилить не сложно.

Вход
Регистрация
Помощь


