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

Тема в разделе "PrestaShop", создана пользователем l.korv1n, 12 окт 2013.

Информация :
Хочешь в разделе без проблем общаться - прочти правила, чтобы потом с форумом на время не прощаться. Читать обязательно!
Внимание! Читайте внимательно правила!Предупреждения выдаются без всяких вопросов. Нарушил - получил. Будьте Внимательнее! Постинг нескольких постов подряд приравнивается к НАРУШЕНИЮ! Будьте вежливы и соблюдайте правила ;-)
Модераторы: NightHunter, ZiX
  1. l.korv1n

    l.korv1n Постоялец

    Регистр.:
    7 сен 2013
    Сообщения:
    141
    Симпатии:
    8
    Hello, коллеги.

    Выходит, что после нажатия на кнопку "отправить заказ" (используется двухколоночный макет) происходит переадресация на страницу ...module/cashondelivery/validation где снова же нужно подтвердить заказ.
    Как обойти этот момент?

    Благодаю за дельные комментарии.
     
  2. l.korv1n

    l.korv1n Постоялец

    Регистр.:
    7 сен 2013
    Сообщения:
    141
    Симпатии:
    8

    Решение:


    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 Заменить содержимое функции.
     
    lover, aleksey0 и Lktr нравится это.
  3. aleksey0

    aleksey0 Постоялец

    Регистр.:
    13 май 2013
    Сообщения:
    50
    Симпатии:
    6
    почему не такой вариант
    <a href="{$link->getModuleLink('cashondelivery', 'validation', ['confirm'=>1], true)}" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}">

    (payment.tpl в COD)
     
    mc_max нравится это.
  4. alkostar

    alkostar Постоялец

    Регистр.:
    8 ноя 2012
    Сообщения:
    131
    Симпатии:
    18
    а чем он лучше?
     
  5. noobasse

    noobasse Постоялец

    Регистр.:
    2 фев 2014
    Сообщения:
    59
    Симпатии:
    71
    Для 1.4.4 тоже подойдет?
     
  6. val.zhi

    val.zhi Создатель

    Регистр.:
    19 янв 2014
    Сообщения:
    18
    Симпатии:
    2
    у меня белый экран
     
  7. Riva

    Riva Папочка

    Регистр.:
    2 мар 2013
    Сообщения:
    431
    Симпатии:
    499
    А как провести эту-же процедуру в universalpay ??

    Нашёл решение, сделал программное нажатие кнопки скриптом с переадресацией по тому же принципу что и выше на созданый левый tpl файл с благодарностью о покупке. Красота, всё работает без лишних окон.
     
    Последнее редактирование модератором: 12 авг 2014
  8. Gero

    Gero Постоялец

    Регистр.:
    19 июл 2013
    Сообщения:
    109
    Симпатии:
    42
    А под 1,6 как можно обойти подтверждение???
     
  9. Riva

    Riva Папочка

    Регистр.:
    2 мар 2013
    Сообщения:
    431
    Симпатии:
    499
    Так же, принцип один и тот же
     
  10. Alnet

    Alnet

    Регистр.:
    27 мар 2009
    Сообщения:
    289
    Симпатии:
    31
    А на 1.4 есть возможность сделать подобное?