Установка

ID #1126

Как упростить процедуру оформления заказа, т.е. что б после нажатия в корзине кнопки "Оформить заказ" сразу же попадали на страницу подтверждения заказа?!

Данный способ полезен таким магазинам, где только один вид доставки, например бесплатная доставка, и где только один вид оплаты, например оплата курьеру при получении товара.
Покупатель сразу попадает на страницу подтверждения заказа,
минуя формальные (в даннном случае) 2 шага, т.е. выбор способа доставки и выбор способа оплаты.

По пунктам:

1. Открываем файл checkout_confirmation.php и после
require('includes/application_top.php');Вставляем следующий код:
$sendto = $customer_default_address_id;
tep_session_register('sendto');

$shipping = array('id' => 'flat', 'title' => 'Flat Rate', 'cost' => 5);
tep_session_register('shipping');
$payment = 'cod';
tep_session_register('payment');
2. Далее находим вот этот код:
$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));

И меняем его на:$navigation->set_snapshot();

3. Открываем файл shopping_cart.php
Находим:

FILENAME_CHECKOUT_SHIPPINGИ меняем на:FILENAME_CHECKOUT_CONFIRMATION
4. Открываем файл includes/header.php
Находим:
FILENAME_CHECKOUT_SHIPPINGИ меняем на:
FILENAME_CHECKOUT_CONFIRMATION
Всё!

Последние обновление: 2005-03-02 12:24
Опубликовал: Farmer, yura, VaM
Revision: 1.0

Отправить на печать Отправить на печать
Отправить другу Отправить другу
Скомпилировать PDF файл Скомпилировать PDF файл
Эскпорт в XML файл Эскпорт в XML файл

Пожалуйста оцените этот ответ:

Рейтинг ответа: 1 из 5 (2 Голосов )

Так себе 1 2 3 4 5 Очень
сильно помог

Вы можете оставить свой комментарий

Comment of Сергей (2038-01-19 06:14:07):
Сделал все как написано не работает

Comment of Aqua$erg (2038-01-19 06:14:07):
Работает, но окно Информации об оплате выдаёт ошибки: Warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/fghfrcby/www/site1/public_html/catalog/includes/functions/general.php on line 42 Warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/fghfrcby/www/site1/public_html/catalog/includes/functions/general.php on line 42

Comment of axler (2038-01-19 06:14:07):
2Aqua$erg: попробуйте в файле checkout_confirmation.php добавить такие строчки: //начало // if no shipping destination address was selected, use the customers own address as default if (!tep_session_is_registered('sendto')) { tep_session_register('sendto'); $sendto = $customer_default_address_id; } else { // verify the selected shipping address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $sendto = $customer_default_address_id; if (tep_session_is_registered('shipping')) tep_session_unregister('shipping'); } } // if no billing destination address was selected, use the customers own address as default if (!tep_session_is_registered('billto')) { tep_session_register('billto'); $billto = $customer_default_address_id; } else { // verify the selected billing address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $billto = $customer_default_address_id; if (tep_session_is_registered('payment')) tep_session_unregister('payment'); } } //конец Это можно вставить вначале файла после строчки: tep_session_register('payment'); © http://osc-ru.my777.biz/viewtopic.php?t=3321&highlight=htmlspecialchars+expects+parameter+++string&sid=0554a264588f21432d39e4e424fed8cb P.S. Ребята, вы вообще хороши. Такие вещи давно уже нужно в фак складывать. :/

Comment of Артур (2038-01-19 06:14:07):
Думаю стоит добавить что в предложенном в статье коде: ... $shipping = array('id' => 'flat', 'title' => 'Flat Rate', 'cost' => 5); tep_session_register('shipping'); $payment = 'cod'; tep_session_register('payment'); ... Есть парочку важных деталей (на поиск которых я потратил 4 часа, забыв про эти исправления) 1. 'cost' => 5 - цена доставки, в следствии чего к вашей цене добавляются еще 5 у.е. 2. $payment = 'cod' - где 'cod' - имя вашего модуля оплаты по-умолчанию

Comment of Артур (2038-01-19 06:14:07):
Еще хотел бы добавить, может у других работает нормально, но думаю что все же еще после предложенного выше кода необходимо /*[Begin]Techart*/{ // register a random ID in the session to check throughout the checkout procedure // against alterations in the shopping cart contents if (!tep_session_is_registered('cartID')) tep_session_register('cartID'); $cartID = $cart->cartID; }/*[End]Techart*/ ///[End]

Comment of DeadLy (2038-01-19 06:14:07):
А для XT как можно тпе сделать?? кто-нить знает?