Всем привет. Интернет магазин в наше время — это неотъемлемая часть всемирной сети. Создавая интернет магазин мы думаем на какой cms его сделать? И в большинстве случаев если товаров не более 30.000-50.000 тысяч позиций то выбор зачастую падает либо на WooCommerce для WordPress или же OCStore для Opencart.

Но так как эта рубрика посвящена opencart то логично что решать проблему мы будем именно с этой cms.

Как мы с Вами видели в штатной сборке ocstore, форма заказа без регистрации очень сложна и требует много времени на заполнение, к тому же напичкана множеством ненужных полей. Из-за этого теряется много заказов, т.е. конверсий, клиент попросту уходит не ломая голову с таким количеством информации. А э о плохо. Вот как выглядит обычная форма регистрации ocstore:

opencart заказМы видим что обязательных полей в таком варианте аж 9 штук. Вы бы стали заполнять 9 полей, ради того чтобы купить к примеру пару батареек? Конечно же нет, поскольку далее следует еще 3 пункта (адрес доставки, способ доставки, способ оплаты и подтверждение). Согласитесь это не заказ а прост омучение как на экзамене. Вот сегодня мы и будет упрощать регистрацию и форму гостевого заказа на ocstore от opencart.

Упрощение формы заказа на opencart

Для начала нужно понять какие файлы отвечают за вывод этих полей. В теме opencart на Вашем хостинге должны быть вот такие вот файлы: guest.tpl и register.tpl. Первый отвечает как раз за оформление заказа без регистрации и второй за поля регистрации. Находятся эти файлы в одной папке на хосте /public_html/catalog/view/theme/default/template/checkout ну или в Вашей установленной теме. Как правило в разделе theme но дальше могут чуть отличаться. Там и находятся эти 2 файла. Нам нужна упрощенная форма заказа для гостевого оформления, значит мы будим разбирать файл guest.tpl.

Смотрим:

guest.tpl

За вывод определенных полей отвечают блоки

<div class=»form-group required»>
<label class=»control-label» for=»input-payment-firstname»><?php echo $entry_firstname; ?></label>
<input type=»text» name=»firstname» value=»<?php echo $firstname; ?>» placeholder=»<?php echo $entry_firstname; ?>» id=»input-payment-firstname» class=»form-control» />
</div>





input-payment-firstname это фамилия, в данном случае. Значит мы должны искать все блоки которые нам не нужны. Они все имеют вывод через input. Допустим нам нужно оставить минимум полей. Значит удаляем все лишние поля, но очень аккуратно, иначе может быть поврежден файл и будет ошибка. Сохраним файл guest.tpl или сделаем резервную копию. Проще будет воспользоваться firebug и просмотреть названия блоков, так будет проще, но можно и по логике догадаться. Удаляем блоки:

<div class=»form-group required»>
<label class=»control-label» for=»input-payment-lastname«><?php echo $entry_lastname; ?></label>
<input type=»text» name=»lastname» value=»<?php echo $lastname; ?>» placeholder=»<?php echo $entry_lastname; ?>» id=»input-payment-lastname» class=»form-control» />
</div>

<div class=»form-group»>
<label class=»control-label» for=»input-payment-fax«><?php echo $entry_fax; ?></label>
<input type=»text» name=»fax» value=»<?php echo $fax; ?>» placeholder=»<?php echo $entry_fax; ?>» id=»input-payment-fax» class=»form-control» />
</div>

<div class=»form-group required»>
<label class=»control-label» for=»input-payment-zone«><?php echo $entry_zone; ?></label>
<select name=»zone_id» id=»input-payment-zone» class=»form-control»>
</select>
</div>

<div class=»form-group required»>
<label class=»control-label» for=»input-payment-country«><?php echo $entry_country; ?></label>
<select name=»country_id» id=»input-payment-country» class=»form-control»>
<option value=»»><?php echo $text_select; ?></option>
<?php foreach ($countries as $country) { ?>
<?php if ($country[‘country_id’] == $country_id) { ?>
<option value=»<?php echo $country[‘country_id’]; ?>» selected=»selected»><?php echo $country[‘name’]; ?></option>
<?php } else { ?>
<option value=»<?php echo $country[‘country_id’]; ?>»><?php echo $country[‘name’]; ?></option>
<?php } ?>
<?php } ?>
</select>
</div>

<div class=»form-group required»>
<label class=»control-label» for=»input-payment-postcode«><?php echo $entry_postcode; ?></label>
<input type=»text» name=»postcode» value=»<?php echo $postcode; ?>» placeholder=»<?php echo $entry_postcode; ?>» id=»input-payment-postcode» class=»form-control» />
</div>

<div class=»form-group»>
<label class=»control-label» for=»input-payment-address-2«><?php echo $entry_address_2; ?></label>
<input type=»text» name=»address_2″ value=»<?php echo $address_2; ?>» placeholder=»<?php echo $entry_address_2; ?>» id=»input-payment-address-2″ class=»form-control» />
</div>
<div class=»form-group required»>
<label class=»control-label» for=»input-payment-city«><?php echo $entry_city; ?></label>
<input type=»text» name=»city» value=»<?php echo $city; ?>» placeholder=»<?php echo $entry_city; ?>» id=»input-payment-city» class=»form-control» />
</div>

<div class=»form-group»>
<label class=»control-label» for=»input-payment-company«><?php echo $entry_company; ?></label>
<input type=»text» name=»company» value=»<?php echo $company; ?>» placeholder=»<?php echo $entry_company; ?>» id=»input-payment-company» class=»form-control» />
</div>

Удалив вот эти поля, выделение input это название полей, мы уберем лишние поля при оформлении заказа.

Вот как теперь выглядит форма для клиента:

гостевое оформление opencart

Как видно форма прекрасно изменилась. Осталось всего 4 поля и это очень удобно для заказа, имя, имейл, телефон и адрес, можно так же убрать поле с галочкой «мой адрес совпадает с платежным» она в принципе не нужна. Но с другой стороны если Ваш интернет магазин делает доставку да еще и с api почтой России к прмиеру и поле индекс решает многое, то конечно же удалять его нельзя, так же как и другие поля, регион, город, или название компании если магазин работает с юр.лицами. Но поскольку большинство магазинов на бесплатной cms заточены под мелкие магазины в конкретном городе, то статья как раз на эту тему.

Форма простой регистрации ocstore на opencart через модуль

Выше мы рассмотрели пример упрощения формы заказа убрав лишние поля через файл guest.tpl, но можно реализовать это и через готовый модуль для ocstore, называется он simple 4.6.6 и его можно скачать на моем блоге. Давайте разберем как его устанавливать.

Скачиваем сам модуль simple 4.6.6

Об этом в следующей статье.