7,328 views

Убираем лишние шаги в оформлении заказа Opencart

19.09.2013

Как убрать 6 ненужных шагов при оформлении заказа в Opencart и свести всё к минимуму? Ведь зачастую это излишние движения, которые вовсе не нужны. Попробуем реализовать оформление заказа в один простой шаг.

Что для этого потребуется сделать? Придется подредактировать несколько файлов движка Opencart, чтобы скрыть ненужные шаги.

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

<input type="radio" name="account" value="register" id="register" checked="checked"/>
 <?php } else { ?>
 <input type="radio" name="account" value="register" id="register" />
 <?php } ?>
 <b><?php echo $text_register; ?></b></label>
 <br />
 <?php if ($guest_checkout) { ?>
 <label for="guest">
 <?php if ($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><?php echo $text_register; ?></b></label>
 <br />
 <?php if ($guest_checkout) { ?>
 <label for="guest">
 <?php if ($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" />

Теперь на первом шаге будет сразу выделена кнопка “Оформить без регистрации”. А если вы хотите полностью пропустить выбор способа оформления заказа и переходить сразу к указанию контактных данных, то в том же файле 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;}

После проделанных операций, пользователь при нажатии “оформить заказ” будет сразу попадать на шаг с введением информации.

Чтобы избавится от третьего и четвертого шагов, откроем файлsystem/library/cart.php и найдем в нем строку

public function hasShipping() {

И допишем к ней:

return false;

Чтобы получилось так:

public function hasShipping() {
 return false;
 $shipping = false;

Шаг с оплатой убираем добавив этот скрипт:

<script language="Javascript" type="text/javascript">
 $(document).ready(function(){
 $('#button-payment-method').trigger('click');
 });
</script>

в начало файла catalog/view/theme/default/template/checkout/payment_method.tpl. И в этом же файле заменяем строчку:

<input type="checkbox" name="agree" value="1"/>

на

<input type="checkbox" name="agree" value="1" checked="checked" />

Открываем файл стилей и скрываем отображение правилом:

#payment-method {display:none;}

Таким образом у нас осталось всего два этапа в оформлении заказа. Переименовать название шагов можно в файлеcatalog\language\russian\checkout\checkout.php

0 0 votes
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
dj--alex
dj--alex
4 years ago

не подходит к Opencart 3
там нет TPL !!!!!

пффффф
пффффф
3 years ago

ага для версии 1.5 можно было написать?

2
0
Would love your thoughts, please comment.x
()
x