Opencart — Оформление Заказа — Убираем Ненужные Шаги

Тема в разделе "Установка, обновление, настройка", создана пользователем admin, 16 июн 2016.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    2.054
    Симпатии:
    51.818
    Репутация:
    148
    Один из самых интересующих и актуальных вопросов, возникающих при настройке магазина на OpenCart, это регистрация и оформление заказа. Эти двое отличаются большим количеством не совсем нужных полей и длительным процессом. Сегодня мы поговорим непосредственно об оформлении заказа.

    Что видит покупатель, бросив товар в корзину и нажав кнопку «Оформление заказа»? Он получает 6 шагов оформления заказа, которые могут повлиять на то, что покупатель отправится за нужным ему товаром в другой магазин, у которого покупка осуществляется проще и быстрее — никому не хочется тратить много времени на «бумажную работу». Итак, что мы можем предпринять для того, чтобы упростить заказ и тем самым облегчить заказ нашим покупателям? Мы можем скрыть ненужные шаги и сделать быстрое оформление заказа.

    Способ протестирован на версии 1.5.3.1.

    1. Оформление заказа без регистрации.

    oformlenie_zakaza_step1.jpg

    Первое, что можно сделать — разобраться с первым шагом, на котором покупателю предложено либо зарегистрироваться, либо оформить заказ без регистрации. По умолчанию отмечена радиокнопка с регистрацией, для того же, чтобы по умолчанию покупателю сразу было предложено оформить заказ без регистрации, открываем файлcatalog/view/theme/default/template/checkout/login.tpl и ищем код (с 6 строки ):

    <
    Код:
    input type="radio"name="account"value="register"id="register"checked="checked"/>
    <?php}else{?>
    <input type="radio"name="account"value="register"id="register"/>
    <?php}?>
    <b><?phpecho$text_register;?></b></label>
    <br/>
    <?phpif($guest_checkout){?>
    <label for="guest">
    <?phpif($account=='guest'){?>
    <input type="radio"name="account"value="guest"id="guest"checked="checked"/>
    <?php}else{?>
    <input type="radio"name="account"value="guest"id="guest"/>
    и меняем его на

    Код:
    <input type="radio"name="account"value="register"id="register"/>
    <?php}else{?>
    <input type="radio"name="account"value="register"id="register"/>
    <?php}?>
    <b><?phpecho$text_register;?></b></label>
    <br/>
    <?phpif($guest_checkout){?>
    <label for="guest">
    <?phpif($account=='guest'){?>
    <input type="radio"name="account"value="guest"id="guest"checked="checked"/>
    <?php}else{?>
    <input type="radio"name="account"value="guest"id="guest"checked="checked"/>
    Теперь, если мы проверим начало оформления заказа, то увидим, что отмечена радиокнопка «Оформить заказ без регистрации».

    НО. Но если вы хотите, чтобы покупатель, нажав на кнопку «Оформление заказа», сразу переходил к вводу персональных данных, то можно просто аннулировать первый шаг. Для этого открываем вышеупомянутый файл - catalog/view/theme/default/template/checkout/login.tpl и в самом начале прописываем скрипт:

    Код:
    <script language="Javascript"type="text/javascript">
    $(document).ready(function(){
    $('#button-account').trigger('click');
    });
    </script>
    Теперь движок будет игнорировать первый шаг и сразу направлять покупателя ко второму шагу. Осталось лишь в таблице стилей скрыть этот шаг. Открываем файл \catalog\view\theme\default\stylesheet\stylesheet.css и добавляем

    Код:
    #checkout {
    display:none;}
    Теперь покупатель из корзины, минуя первый шаг, сразу попадает на шаг, в котором он должен ввести персональную информацию.

    oformlenie_zakaza_step2.jpg



    2. Уберем шаги 3 и 4, касающиеся доставки.
    oformlenie_zakaza_shipping.jpg

    Открываем файл system/library/cart.php (в корневой папке сайта) и находим строку (приблизительно 381 строка)

    Код:
    publicfunctionhasShipping(){
    сразу после нее добавляем

    Код:
    returnfalse;
    и строки примут вот такой вид:

    Код:
    publicfunctionhasShipping(){
    returnfalse;
    $shipping=false;
    Теперь у нас осталось три шага: 2, 5 и 6.

    3. Убираем шаг с оплатой. Если в вашем магазине не предусмотрен выбор вариантов оплаты (к примеру, оплата только при доставке), будет вполне логично скрыть шаг, касающийся оплаты. Для этого открываемcatalog/view/theme/default/template/checkout/payment_method.tpl и точно также, как мы это делали ранее, добавляем в самом начале документа скрипт:

    Код:
    <script language="Javascript"type="text/javascript">
    $(document).ready(function(){
    $('#button-payment-method').trigger('click');
    });
    </script>
    В этом же файле, ищем строку

    Код:
    <input type="checkbox"name="agree"value="1"/>
    и меняем ее на

    Код:
    <input type="checkbox"name="agree"value="1"checked="checked"/>
    Снова обращаемся к таблице стилей — \catalog\view\theme\default\stylesheet\stylesheet.css, и скрываем отображение пятого шага:

    Код:
    #payment-method {
    display:none;
    }
    У нас осталось всего два шага: Профиль & Платежная информация и Подтверждение заказа.

    oformlenie_zakaza_only_two_steps1.jpg


    Дать им другие названия можно в языковом файле catalog\language\russian\checkout\checkout.php.