Перейти к содержанию
Официальный форум поддержки Simpla

Несколько полей для ввода адреса в корзине


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

Доброго здравия всем!

 

Возник вопрос: нужно реализовать несколько дополнительных полей (инпуты и селекты) в корзине, чтобы разделить ввод адреса для клиента, но при этом, поле "адрес" в админке остается одно.

 

Примерно представляю себе так: в шаблоне html-ом добавляю нужные инпуты и селекты, а после оформления - в заказе адрес уже выводится одной строкой, сложенный из всех заполненных в корзине инпутов. Если что-то не заполнялось - то оно пропускается, соответственно.

 

Заранее благодарю за помощь или подсказку!

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

Идете в view/CartView.php

А потом сюда

 

Например меняете

$order->address     = $this->request->post('address');

на 

$address      = '';
$new_field    = $this->request->post('new_field');
$new_radio    = $this->request->post('new_radio');
$new_checkbox = $this->request->post('new_checkbox');

if($new_field)
    $address .= $new_field . ', ';
        
if($new_radio)
    $address .= $new_radio . ', ';
        
if($new_checkbox)
    $address .= $new_checkbox . ', ';

$order->address = substr($address, 0, -2);

 

Изменено пользователем chocolate_moles
Ссылка на сообщение
Поделиться на другие сайты

 

Идете в view/CartView.php

А потом сюда

 

Например меняете

$order->address     = $this->request->post('address');

на 

$address      = '';
$new_field    = $this->request->post('new_field');
$new_radio    = $this->request->post('new_radio');
$new_checkbox = $this->request->post('new_checkbox');

if($new_field)
    $address .= $new_field . ', ';
        
if($new_radio)
    $address .= $new_radio . ', ';
        
if($new_checkbox)
    $address .= $new_checkbox . ', ';

$order->address = substr($address, 0, -2);

Спасибо огромное!! Буду пробовать!

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Ребята, кто-нибудь делал с помощью dadata склеивание разных полей адресов в одну строку? Чтобы адрес был стандартизирован. У них есть такой пример: http://codepen.io/dadata/pen/XbeQrX в нём адрес из одной строки раскладывается по разным полям, а меня интересует обратный эффект - склеивание адреса из разных полей в одно поле (Которое, из корзины и можно передавать как адрес клиента)

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

 

$order->address     = $this->request->post('city').' '.$this->request->post('street').' '.$this->request->post('house');

Примерно так :)

 

Такой способ склеит, но не стандартизирует через dadata) Например, адрес состоит из поля "дом", "строение" и "корпус". Один клиент  введет 3, 5, 1, адрес получится : ул. Ленина 3 5 1. Что 3 5 1 не всегда будет понятно.

 

Через dadata он независимо от того, что введет клиент, просто 3, 5, 1 или ("дом 3" "стр. 5" и "корп. 1") или вообще ("3стр5" пропустит строение и затем укажет корпус 1) - адрес по идее должен стандартизироваться к удобочитаемому и понятному формату. Отсюда собственно и вопрос...

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...