Как обойти страницу подтверждения заказа (One Page Checkout for PS 1.5)

У тебя получилось убрать страницу подтверждения?
Я обошел это примерно так.
<SCRIPT language=JavaScript>
var intLeft = 5; // Время до перехода(секунды)

function leavePage() {
if (0 == intLeft) // Time is up--navigate.
location.replace("ссылка на кнопку подтвердить")
else {
// Count down and output updated time by
// changing the contents of the element.
intLeft -= 1;
document.all.countdown.innerText = intLeft + " ";
// Wait another second.
setTimeout("leavePage()", 1000);
}
}
</SCRIPT>
И если человек в течении к примеру 5 секунд не нажал за него это делает скрипт. И заказ подтверждается автоматом.
 
Я обошел это примерно так.
<SCRIPT language=JavaScript>
var intLeft = 5; // Время до перехода(секунды)

function leavePage() {
if (0 == intLeft) // Time is up--navigate.
location.replace("ссылка на кнопку подтвердить")
else {
// Count down and output updated time by
// changing the contents of the element.
intLeft -= 1;
document.all.countdown.innerText = intLeft + " ";
// Wait another second.
setTimeout("leavePage()", 1000);
}
}
</SCRIPT>
И если человек в течении к примеру 5 секунд не нажал за него это делает скрипт. И заказ подтверждается автоматом.


У меня без скрипта удалось, в настройках модуля One Page Checkout
Во всплывающих окнах нужно убрать галочки на НЕТ с Показать всплывающее окно оплаты и Активировать сочетаемость с неподдерживаемыми методами оплаты

Дальше в поле Отключить всплывающее окно вставить название моделей которые не должны всплывать, в моем случае: yamodule
 
У меня без скрипта удалось, в настройках модуля One Page Checkout
Во всплывающих окнах нужно убрать галочки на НЕТ с Показать всплывающее окно оплаты и Активировать сочетаемость с неподдерживаемыми методами оплаты

Дальше в поле Отключить всплывающее окно вставить название моделей которые не должны всплывать, в моем случае: yamodule
данный совет очень помог! У меня вопрос: я так понял вы используете яндекс кассу совместно с OPC, как у вас отображаются иконки из списка методов оплаты модуля яндекс кассы? OPC заменяет их своей дефолтной иконкой. Вы обращали на это внимание?
 
Работает на PS 1.6.5.1 (Убирает страницу подтверждение заказа)
в validation.php

Вместо

Код:
public function initContent()
    {
        parent::initContent();

        $this->context->smarty->assign(array(
            'total' => $this->context->cart->getOrderTotal(true, Cart::BOTH),
            'this_path' => $this->module->getPathUri(),//keep for retro compat
            'this_path_cod' => $this->module->getPathUri(),
            'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
        ));

        $this->setTemplate('validation.tpl');
    }

Ставим

Код:
public function initContent()
{
    $this->display_column_left = false;
    parent::initContent();
    $customer = new Customer((int)$this->context->cart->id_customer);
    $total = $this->context->cart->getOrderTotal(true, Cart::BOTH);
    $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);
    Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$this->module->currentOrder); }

Работает на PS 1.6.5.1 (Убирает страницу подтверждение заказа)

А как убрать страницу Вы платите за товар наличными (оплата при получении)?
Использую модуль onepagecheckoutps


Работает на PS 1.6.5.1 (Убирает страницу подтверждение заказа)
в validation.php

Вместо

public function initContent()
{
parent::initContent();

$this->context->smarty->assign(array(
'total' => $this->context->cart->getOrderTotal(true, Cart::BOTH),
'this_path' => $this->module->getPathUri(),//keep for retro compat
'this_path_cod' => $this->module->getPathUri(),
'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
));

$this->setTemplate('validation.tpl');
}

Ставим

public function initContent()
{
$this->display_column_left = false;
parent::initContent();
$customer = new Customer((int)$this->context->cart->id_customer);
$total = $this->context->cart->getOrderTotal(true, Cart::BOTH);
$this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);
Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$this->module->currentOrder); }

Работает на PS 1.6.5.1 (Убирает страницу подтверждение заказа)

А как убрать страницу Вы платите за товар наличными (оплата при получении)?
Использую модуль onepagecheckoutps
:D Сам разобрался, с этим модулем вообще ни чего править не надо, там уже кнопочка есть.
 
Последнее редактирование модератором:
Работает на PS 1.6.5.1 (Убирает страницу подтверждение заказа)
в validation.php

Вместо

Код:
public function initContent()
    {
        parent::initContent();

        $this->context->smarty->assign(array(
            'total' => $this->context->cart->getOrderTotal(true, Cart::BOTH),
            'this_path' => $this->module->getPathUri(),//keep for retro compat
            'this_path_cod' => $this->module->getPathUri(),
            'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
        ));

        $this->setTemplate('validation.tpl');
    }

Ставим

Код:
public function initContent()
{
    $this->display_column_left = false;
    parent::initContent();
    $customer = new Customer((int)$this->context->cart->id_customer);
    $total = $this->context->cart->getOrderTotal(true, Cart::BOTH);
    $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);
    Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$this->module->currentOrder); }

Работает на PS 1.6.5.1 (Убирает страницу подтверждение заказа)

А как убрать страницу Вы платите за товар наличными (оплата при получении)?
Использую модуль onepagecheckoutps



:D Сам разобрался, с этим модулем вообще ни чего править не надо, там уже кнопочка есть.
а где этот параметр, как он по английски называется никак найти не могу.
 
Решение:


public function initContent()
{
$this->display_column_left = false;
parent::initContent();
$customer = new Customer((int)$this->context->cart->id_customer);
$total = $this->context->cart->getOrderTotal(true, Cart::BOTH);
$this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);
Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$this->module->currentOrder);
}


modules/cashondelivery/controllers/front/validation.php Заменить содержимое функции.
Сработало, а как убрать двойное отправление сообщение на електронный адрес?
Отправляется сообщение "В процессе подготовки" И "Подтверждение заказа"
 
Сработало, а как убрать двойное отправление сообщение на електронный адрес?
Отправляется сообщение "В процессе подготовки" И "Подтверждение заказа"

на странице статусов отключаются отправки покупателям
 
Назад
Сверху