Digger174

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

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

Digger174    4

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

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

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

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

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

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


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

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

С уважением.

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

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

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


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

Спасибо, буду ждать.....

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


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

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

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


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

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

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

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

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


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

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

там находим в районе 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>

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

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

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


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

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

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

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

С уважением.

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

catalog.zip

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

смотрите в сторону 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>
Мало-ли, какие у вас изменения... Но решение - там.

С уважением.

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


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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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


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

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


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

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

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

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


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

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

Click...

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


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

почитаем))

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


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

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

С уважением.

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

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


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

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

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

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