Jump to content

Автозаполнение адреса при оформлении заказа


Recommended Posts

Скриншот:


Установка:
1. В шаблон cart.tpl добавить:

{literal}
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script>
function initialize() {
var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input);

autocomplete.bindTo('bounds', map);

var infowindow = new google.maps.InfoWindow();
var marker = new google.maps.Marker({
map: map
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
{/literal}

2. Найти:

<label>Адрес доставки</label>
<input name="address" type="text" value="{$address|escape}" />
 

и заменить на:

<label>Адрес доставки</label> <input id="searchTextField" name="address" type="text" value="{$address|escape}" />

 

Другими словами, просто прописать id="searchTextField" соответствующему полю.

Link to post
Share on other sites
  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

  • 1 month later...

Всегда пожалуйста! Будет еще много доработок, как только с бизнес-процессами разберусь, займусь вплотную разработкой и постараюсь большую часть выкладывать бесплатно на форум.

Link to post
Share on other sites
А как сделать, чтобы ещё индекс был?

Автоматически? Или поле чтобы вручную вписать?

Если вручную, то нужно добавить input в форму, ну и в базе столбец соответствующий создать. Делать по аналогии с другими полями, ничего сложного в принципе.
Link to post
Share on other sites

Надо посмотреть есть же готовые базы с адрессами, найти где с индексами посмотреть как они взаимодействуют и использовать. В этом примере взята база от гугла. Можно найти статическую и запилить на сайт. Как то так ~_~

Link to post
Share on other sites

Ну, как это реализовать, я уже знаю, просто на данный момент мне это не актуально, поэтому еще не принялся за реализацию.

Единственная сложность, это формат адреса которые пишут покупатели, зачастую пишут с ошибками, непопулярными сокращениями и т.д. но автодополнение по идее решает эту проблему.

В принципе, готов взяться за реализацию, срок ориентировочно 2-3 дня максимум, если кому-то интересно, можем обсудить бюджет.
Можно и как коллективную покупку, так и по отдельности, в общем рассмотрю любые условия.

Link to post
Share on other sites
  • 6 months later...

В шаблон cart.tpl добавить:

{literal}
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
   <script>
      function initialize() {
        var input = document.getElementById('searchTextField');
        var autocomplete = new google.maps.places.Autocomplete(input);

        autocomplete.bindTo('bounds', map);

        var infowindow = new google.maps.InfoWindow();
        var marker = new google.maps.Marker({
          map: map
        });
      }
      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
{/literal}

2. Найти:

<label>Адрес доставки</label>
<input  name="address" type="text" value="{$address|escape}" />

и заменить на:

<label>Адрес доставки</label>
<input  id="searchTextField"  name="address" type="text" value="{$address|escape}" />
Link to post
Share on other sites
  • 4 months later...
  • 1 month later...

Вполне реально, ничего не буду обещать т.к. не известно пока как будут складываться обстоятельства, но скорее всего в ближайшие 2-3 месяца сделаю с использованием КЛАДР  и так же выложу в общий доступ.

 

P.S. Если не хочется ждать, то можно простимулировать разработку финансово, возможна так же групповая покупка, цену предлагайте сами, я гибко подхожу к условиям работы.

Link to post
Share on other sites
  • 2 weeks later...
  • 4 weeks later...
  • 4 weeks later...
  • 2 weeks later...

А есть какой-то способ при выборе адреса убрать заполнение страны и города дважды? 

http://prntscr.com/2u7l42

Спасибо за код!

 

У Вас там остался кусочек кода 

<input name="address" type="text" value="{$address|escape}"/>

Его необходимо удалить

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...