Удаляем лишние поля в заказе Ocstore 2.3
Делаем первый шаг заказ без регистрации
Переходим в файл
catalog/view/theme/default/template/checkout/login.tpl
Находим кусок кода
<div class="radio"> <label> <?php if ($account == 'register') { ?> <input type="radio" name="account" value="register" checked="checked" /> <?php } else { ?> <input type="radio" name="account" value="register" /> <?php } ?> <?php echo $text_register; ?></label> </div> <?php if ($checkout_guest) { ?> <div class="radio"> <label> <?php if ($account == 'guest') { ?> <input type="radio" name="account" value="guest" checked="checked" /> <?php } else { ?> <input type="radio" name="account" value="guest" /> <?php } ?> <?php echo $text_guest; ?></label> </div>
и меняем его на
<div class="radio"> <label> <?php if ($account == 'register') { ?> <input type="radio" name="account" value="register" /> <?php } else { ?> <input type="radio" name="account" value="register" /> <?php } ?> <?php echo $text_register; ?></label> </div> <?php if ($checkout_guest) { ?> <div class="radio"> <label> <?php if ($account == 'guest') { ?> <input type="radio" name="account" value="guest" checked="checked" /> <?php } else { ?> <input type="radio" name="account" value="guest" checked="checked" /> <?php } ?> <?php echo $text_guest; ?></label> </div>
Далее покупатель после кнопки «Оформить заказ» переходит к вводу персональных данных. Для этого вставляем в начало файла
catalog/view/theme/default/template/checkout/login.tpl небольшой скрипт
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0A%24(document).ready(function()%7B%0AsetTimeout(function()%7B%0A%24('%23button-account').trigger('click')%3B%0A%7D%2C400)%3B%0A%7D)%3B%0A%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />
Далее делаем чтобы покупатель переходил сразу к вводу данных. Открываем файл
/catalog/view/theme/default/template/checkout/checkout.tpl
Находим строки 22-24
<h1><?php echo $heading_title; ?></h1> <div class="panel-group" id="accordion"> <div class="panel panel-default">
Меняем на
<h1><?php echo $heading_title; ?></h1> <div class="panel-group" id="accordion"> <div class="panel panel-default" style="display:none;">
Далее для соответствия нумерации шагов правим файл
/catalog/language/ru-ru/checkout/checkout.php
в 9 строке
$_['text_checkout_payment_address'] = 'Шаг 2: Платежная информация';
меняем на
$_['text_checkout_payment_address'] = 'Шаг 2: Контактная информация';
Убираем лишние поля при оформлении заказа
Открываем файл: /catalog/view/theme/default/template/checkout/guest.tpl. С помощью css скрываем поля ввода и вручную ставим параметр value, что бы при клике на «продолжить» ocstore не ругался на незаполненные поля.
На примере фамилии убираем поля факс, компания, индекс и т.д.
Находим
<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 required" style="display:none;"> <label class="control-label" for="input-payment-lastname"><?php echo $entry_lastname; ?></label> <input type="text" name="lastname" value=" " placeholder="<?php echo $entry_lastname; ?>" id="input-payment-lastname" class="form-control" /> </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" style="display:none;"> <label class="control-label" for="input-payment-country"><?php echo $entry_country; ?></label> <input type="text" value="176" name="country_id" id="input-payment-country" class="form-control"> </div>
Где 176 Российская Федерация.
В коде региона находим
<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" style="display:none;"> <label class="control-label" for="input-payment-zone"><?php echo $entry_zone; ?></label> <input type="text" value="2761" name="zone_id" id="input-payment-zone" class="form-control"> </div>
где 2761 Московский регион
Меняем местами город и адрес
Находим и вырезаем код
<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 required"> <label class="control-label" for="input-payment-address-1"><?php echo $entry_address_1; ?></label> <input type="text" name="address_1" value="<?php echo $address_1; ?>" placeholder="<?php echo $entry_address_1; ?>" id="input-payment-address-1" class="form-control" /> </div>
Скрываем галочку — «Мой адрес доставки совпадает с платежным».
В этом же файле находим код
<div class="checkbox"> <label> <?php if ($shipping_address) { ?> <input type="checkbox" name="shipping_address" value="1" checked="checked" /> <?php } else { ?> <input type="checkbox" name="shipping_address" value="1"/> <?php } ?> <?php echo $entry_shipping; ?></label> </div>
и меняем на
<div class="checkbox" style="display:none;"> <label> <?php if ($shipping_address) { ?> <input type="checkbox" name="shipping_address" value="1" checked="checked" /> <?php } else { ?> <input type="checkbox" name="shipping_address" value="1" checked="checked"/> <?php } ?> <?php echo $entry_shipping; ?></label> </div>
Если необходимо скрываем поле e-mail
В файле \catalog\controller\checkout\guest.php удаляем кусок кода:
if ((utf8_strlen($this->request->post['email']) > 96) || !filter_var($this->request->post['email'], FILTER_VALIDATE_EMAIL)) { $json['error']['email'] = $this->language->get('error_email');}
И в файле /catalog/view/theme/default/template/checkout/guest.tpl меняем
<div class="form-group required"> <label class="control-label" for="input-payment-email"><?php echo $entry_email; ?></label> <input type="text" name="email" value="<?php echo $email; ?>" placeholder="<?php echo $entry_email; ?>" id="input-payment-email" class="form-control" /> </div>
на
<div class="form-group required" style="display:none;"> <label class="control-label" for="input-payment-email"><?php echo $entry_email; ?></label> <input type="text" name="email" value="<?php echo $email; ?>" placeholder="<?php echo $entry_email; ?>" id="input-payment-email" class="form-control" /> </div>
Вариант 2 (не проверен)
Правим файлы и контроллеры
1. Файлы
/catalog/view/theme/default/template/account/register.tpl /catalog/view/theme/default/template/checkout/register.tpl
/catalog/view/theme/default/template/checkout/guest.tpl
Ненужные пункты убираем путем комментирования переменной, например меняем
<?php echo $entry_postcode; ?>
на
<!-- ?php echo $entry_postcode; ? -->
Далее там же комментируем инпут и блоки, меняем
<input type="text" name="postcode" value="<?php echo $postcode; ?>" placeholder="<?php echo $entry_postcode; ?>" id="input-payment-postcode" class="form-control" />
на
<!--input type="text" name="postcode" value="<?php echo $postcode; ?>" placeholder="<?php echo $entry_postcode; ?>" id="input-payment-postcode" class="form-control" -->
Добавляем style=»display:none;» в tr или div, и убираем ненужные переносы, что бы отображаемые блоки не распадались по высоте.
2. Контроллеры
/catalog/controller/account/register.php
/catalog/controller/checkout/register.php
/catalog/controller/checkout/guest.php
Находим правило проверки:
if ((utf8_strlen($this->request->post['lastname']) < 1) || (utf8_strlen($this->request->post['lastname']) > 32)) { $this->error['lastname'] = $this->language->get('error_lastname'); }
Закрываем:
if ((utf8_strlen($this->request->post['lastname']) < 1) || (utf8_strlen($this->request->post['lastname']) > 32)) { //$this->error['lastname'] = $this->language->get('error_lastname'); }
Тоже самое делаем для полей которые надо закрыть.
Вас может заинтересовать