Тоже озадачивался этим вопросом. На 1.5.4.1 сделал вот на днях себе следующим образом. конкретных шагов для выполнения не дам, если только, когда появится свободное время, но сейчас подскажу в каком направлении двигаться:
Я удалял обязательное поле Фамилия. Буду пример приводить на этом.
Надо найти в контроллерах примерно следующие поля:
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');
}
*/
/* Условие, если фамилия меньше 1 символа и больше 32, то выводится ошибка - как раз проверку этого условия и убираем из всех контроллеров */
Из файлов вывода шаблона *.tpl надо изменить примерно следующее. Ищем код такого рода:
<td><span class="required">*</span> <?php echo $entry_lastname; ?></td>
<td><input type="text" name="lastname" value="<?php echo $lastname; ?>" />
<?php if ($error_lastname) { ?>
<span class="error"><?php echo $error_lastname; ?></span>
<?php } ?></td>
Здесь надо убрать красную звездочку и проверку ввода, получаем следующее:
<td> <?php echo $entry_lastname; ?></td>
<td><input type="text" name="lastname" value="<?php echo $lastname; ?>" />
Т.е. я на самом деле в этих во всех нижеприведенных файлах поиском по документу(ctrl+f) искал lastname и убирал функции проверок и вывода красной звездочки.
В некоторых файлах(например, в catalog/view/theme/default/template/checkout/checkout.tpl) проверка ввода поля реализована через JavaScript, код находится вроде этого:
if (json['error']['lastname']) {
$('#payment-address input[name=\'lastname\'] + br').after('<span class="error">' + json['error']['lastname'] + '</span>');
}
Его убираем просто полностью.
Вносил следующие изменения в файлы:
убираем проверку заполненности поля при регистрации нового аккаунт и в настройках аккаунта покупателя
catalog/controller/account/edit.php
catalog/controller/account/register.php
убираем проверку заполненности поля при оформление заказа
catalog/controller/checkout/checlout.php
catalog/controller/checkout/guest.php
catalog/controller/checkout/guest_shipping.php
catalog/controller/checkout/payment_address.php
catalog/controller/checkout/register.php
catalog/controller/checkout/shipping_address.php
Если своя тема, то вместо папки template надо смотреть свою папку с темой, если там нет этих файлов, то в стандартном шаблоне изменять.
Убираем пометку об обязательности поля при регистрации аккаунта и в настройках аккаунта покупателя
/catalog/view/theme/default/template/account/edit.tpl
/catalog/view/theme/default/template/account/register.tpl
Убираем пометку об обязательности поля при оформление заказа
/catalog/view/theme/default/template/checkout/checkout.tpl
/catalog/view/theme/default/template/checkout/guest.tpl
/catalog/view/theme/default/template/checkout/guest_shipping.tpl
/catalog/view/theme/default/template/checkout/payment_address.tpl
/catalog/view/theme/default/template/checkout/register.tpl
/catalog/view/theme/default/template/checkout/shipping_address.tpl
Теперь нужно в админки так же убрать обязательность поля Фамилия:
Убираем так же пометки:
/admin/view/template/sale/order_form.tpl
/admin/view/template/sale/customer_form.tpl
/admin/view/template/user/user_form.tpl
Убираем проверку:
admin/controller/user/user.php
admin/controller/sale/customer.php
Вывод. Чтобы удалить поле вручную, обязательное для заполнения, надо покапаться. Если поверхностный знаний о верстке хотя бы нет, думаю лезть не стоит. Легче купить модуль быстрого чекаута, который не вносит изменений в стандартный файлы движка.
Но мне именно симплчекауты не подходят, т.к. пользователь не попадает в базу ОпенКарта вроде бы как зарегистрированные, а хотелось попросту упростить момент регистрации для клиентов. И товар в магазине у меня такой, что большинство клиентов остаются постоянными покупателями надолго.
P.S. на чистоту эксперимента не претендую, я не программист, поэтому может набардачил где, как говорится критика приветствуется.