Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как удалить обязательные поля оформления заказа v 1.5.1.3 ?


il37

Recommended Posts

Тоже озадачивался этим вопросом. На 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. на чистоту эксперимента не претендую, я не программист, поэтому может набардачил где, как говорится критика приветствуется.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

ну блин создатели и накрутили с кодом...вроде такой ньюанс, и ведь часто приходится подкручивать поля в форме заказа под каждого клиента и тут такое западло))) Сам сижу уже задолбали эти выскакивающие ошибки ...три часа ставлю слэши...ПИПЕЦ просто...

 

p.s. Извините, просто накипело...

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Приветствую, Уважаемые. Напишите, пожалуйста, кто и как справился с задачей. Хочу попробовать изменить код не прибегая к покупке https://opencartforum.com/files/file/324-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-simple-%D1%83%D0%BF%D1%80%D0%BE%D1%89%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7/, хотя, не скрою, уже есть такие мысли. Кто пробовал предлагаемый выше модуль, опишите, насколько Вам помогло это решение? Плюсы, минусы, гибкость, простота настройки... Хочется многое "обязательное" убрать.

Заранее благодарю.

Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.