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

Обязательные поля для заполнения


Digger174

Recommended Posts

Пересмотрел все темы с интересующим меня вопросом, но так и не нашел ответа...

Как сделать поле обязательным?

Название полей я изменил, а как сделать обязательными не могу понять.

Прошу помощи знающих людей.

Заранее благодарен!post-5536-0-83114900-1300529633_thumb.jpg

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


там в контроллер нужно лезть. А может даже в модель.. Ща спать хоцца - не буду заморачиваться, но если действительно интересно, то сделаю завтра мануаль, как оно должно быть. На примере.

С уважением.

"Заранее" - пишется слитно. Уж простите мою филологическую сущность ;)

Змінено користувачем AlexFisher
  • +1 1
Надіслати
Поділитися на інших сайтах

..прошу прощения за задержку. Устраивал себе выходной.

Итак. Нам потребуется:

catalog\view\theme\YOUR_THEME\template\checkout\guest_step_1.tpl

там находим в районе 57 строки

<td><span class="required">*</span> <?php echo $entry_address_1; ?></td>
            <td><input type="text" name="address_1" value="<?php echo $address_1; ?>" />
              <?php if ($error_address_1) { ?>
              <span class="error"><?php echo $error_address_1; ?></span>
              <?php } ?></td>
далее по смыслу заменяем аддресс_2 - он ниже - на такой:

<td><span class="required">*</span> <?php echo $entry_address_2; ?></td>
            <td><input type="text" name="address_2" value="<?php echo $address_2; ?>" />
              <?php if ($error_address_2) { ?>
              <span class="error"><?php echo $error_address_2; ?></span>
              <?php } ?></td>
..это мы сделали, чтоб со звездочкой оно было красной для покупателя.

--------------

controller\checkout\guest_step_1.php

в районе 189 строки находим

if (isset($this->error['address_1'])) {
			$this->data['error_address_1'] = $this->error['address_1'];
		} else {
			$this->data['error_address_1'] = '';
		}

ниже ставим

if (isset($this->error['address_2'])) {
			$this->data['error_address_2'] = $this->error['address_2'];
		} else {
			$this->data['error_address_2'] = '';
		}
5 минут, полет нормальный =)

в том-же файле в районе 485 строки находим

if ((strlen(utf8_decode($this->request->post['address_1'])) < 3) || (strlen(utf8_decode($this->request->post['address_1'])) > 128)) {
      		$this->error['address_1'] = $this->language->get('error_address_1');
    	}
ниже ставим

if ((strlen(utf8_decode($this->request->post['address_2'])) < 1) || (strlen(utf8_decode($this->request->post['address_2'])) > 128)) {
      		$this->error['address_2'] = $this->language->get('error_address_2');
    	}

..это функция валидации. У нас там стоит от 1 до 128 символов. Можно править как хочется, типа, номер дома не больше 4-5 символов (че-нть типа "42-бис"), тогда не забывайте менять текст в языковом файле.

Собственно, это все, что осталось

language\ВАШ_ЛАНГУАГЕ\checkout\guest_step_1.php

где-нть после

$_['error_address_1']   	= 'Адрес должен быть от 3 до 128 символов!';
тулим

$_['error_address_2']   	= 'Номер дома должен содержать от 1 до 128 символов!';

Вуаля!

Работает для гостевой регистрации.

post-3552-0-51723000-1300706213_thumb.jpg

  • +1 2
Надіслати
Поділитися на інших сайтах

Спасибо за решение, но пока не выходит...

там находим в районе 57 строки

<td><span class="required">*</span> <?php echo $entry_address_1; ?></td>

<td><input type="text" name="address_1" value="<?php echo $address_1; ?>" />

<?php if ($error_address_1) { ?>

<span class="error"><?php echo $error_address_1; ?></span>

<?php } ?></td>

post-5536-0-57317800-1300947599_thumb.jpg

Нашел эту строчку (выделена красным)

И меняю ниже (выделена синим)на:

<td><span class="required">*</span> <?php echo $entry_address_2; ?></td>

<td><input type="text" name="address_2" value="<?php echo $address_2; ?>" />

<?php if ($error_address_2) { ?>

<span class="error"><?php echo $error_address_2; ?></span>

<?php } ?></td>

И ни чего не происходит..

Может что не так делаю?

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


Должно работать.

Вот выкладываю файлы, которые изменял - у меня все заработало.

Не забудьте сделать бекап.

С уважением.

з.ы. код все-таки лучше оформлять в тег [сode]

catalog.zip

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

Все отлично получилось!!! :lol:

post-5536-0-26141100-1301153494_thumb.jpg

Задал правила все работает!

post-5536-0-47575800-1301153510_thumb.jpg

Не забывайте делать выше указанные действия во всех файлах где указываются эти поля и правила:

При регистрации личного кабинета, без регистрации, при указании доп. адреса, при редактировании адреса в личном кабинете, при изменении адреса в момент оформления заказа!!! ВСЕ ЭТО НУЖНО ПЕРЕЛОПАТИТЬ!!!

Остался один вопросик.

Как подправить приходящее письмо о заказе, а именно что бы №дома и индекс были на разных строчках? А то они в одну получились.

post-5536-0-19522400-1301153525_thumb.jpg

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


смотрите в сторону catalog/view/theme/YOUR_THEME/template/mail/order_confirm.tpl

где-нть возле

<td style="padding: 0.3em; background-color: #EEEEEE; color: #000;"><?php echo $shipping_address; ?></td>
          <td style="padding: 0.3em; background-color: #EEEEEE; color: #000;"><?php echo $payment_address; ?></td>
Мало-ли, какие у вас изменения... Но решение - там.

С уважением.

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

Переименовал просто:

Компания - Город

Город - Квартира

Не стал уж менять copmany на city, city на flat :lol:

Хотя сначала подумывал об этом, но смысла в этом не нашел...

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


  • 1 year later...

AlexFisher, а вот все , что ты описывал на

1.5.4.1 можно как ни будь сделать?

Можно, даже "как нибудь"... напишите где именно, регистрация или оформление заказа...
Надіслати
Поділитися на інших сайтах

Ригистрация, а Оформление заказа без регистрации я отключил.


ХотелосьХотелось бы убрать ,все лишни поля, и перенести страну/регион вверх как на скрине. Реально такое осуществить?post-23621-0-64457000-1351932089_thumb.png

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

  • 4 years later...

там в контроллер нужно лезть. А может даже в модель.. Ща спать хоцца - не буду заморачиваться, но если действительно интересно, то сделаю завтра мануаль, как оно должно быть. На примере.

С уважением.

"Заранее" - пишется слитно. Уж простите мою филологическую сущность wink.gif

Вы очень хорошо объяснили как это сделать в 2011 у меня проблема с opencart 2,1,0,2. нужно сделать так чтобы не заполнение mail не было обязательным. Никак не могу найти помогите пожалуйста.

http://i12.pixs.ru/storage/2/2/6/mailpng_5677349_24664226.png

mailpng_5677349_24664226.jpg

Змінено користувачем tool
Надіслати
Поділитися на інших сайтах


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

Объясните пожалуйста мне более детально, где какие файлы все что написано выше 2012 год. Спасибо

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


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

×
×
  • Створити...

Important Information

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