Перейти к содержанию
Digger174

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

Рекомендуемые сообщения

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

С уважением.

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

Изменено пользователем AlexFisher
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть кто-нибудь знает решение? :blink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перезалил tlp и все получилось!!!

Спасибо огромное!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все отлично получилось!!! :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:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexFisher, а вот все , что ты описывал на

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

привет, что скажешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

привет, что скажешь?

Click...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

почитаем))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

С уважением.

"Заранее" - пишется слитно. Уж простите мою филологическую сущность 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.