Jump to content

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


Recommended Posts

  • 4 weeks later...
  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

С помощью dadata.ru можно подключить не только автодополнение адреса по КЛАДР, но и подсказки по ФИО.
 
Подключается очень просто — внизу файла cart.tpl добавляем:
{literal}
<link href="https://dadata.ru/static/css/suggestions.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="https://dadata.ru/static/js/suggestions-jquery-4.1.min.js"></script>
<script type="text/javascript">
    $(".cart_form input[name='name']").suggestions({
        serviceUrl: "https://dadata.ru/api/v1/suggest/fio",
        selectOnSpace: true,
        token: "ваш API-ключ",
        params: {
            parts: ["NAME", "SURNAME"]
        }
    });
    $(".cart_form input[name='address']").suggestions({
        serviceUrl: "https://dadata.ru/api/v1/suggest/address",
        selectOnSpace: true,
        token: "ваш API-ключ",
    });
</script>
{/literal}

Вместо "ваш API-ключ" пишем свой ключ (получить можно на https://dadata.ru/suggestions/usage, это бесплатно).

 
И все работает:
post-16806-0-07013600-1395758874_thumb.png
 
Link to post
Share on other sites

 

С помощью dadata.ru можно подключить не только автодополнение адреса по КЛАДР, но и подсказки по ФИО.

 

Что-то странное со справочником адресов - на этой улице нет домов 4xx, есть только 40 с несколькими корпусами.

post-1087-0-35235500-1396284798_thumb.png

Link to post
Share on other sites

Что-то странное со справочником адресов - на этой улице нет домов 4xx, есть только 40 с несколькими корпусами.

К сожалению, КЛАДР считает, что такие дома на улице есть. Постараемся в дальнейшем отсекать такие "несуществующие" дома.

Link to post
Share on other sites

 

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

 

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

 

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

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

Новая версия api работает уже практически идеально.

{literal}
<link href="https://dadata.ru/static/css/suggestions-4.3.css" type="text/css" rel="stylesheet" />
<!--[if lt IE 10]>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://dadata.ru/static/js/jquery.suggestions-4.3.min.js"></script>
<script type="text/javascript">
    $(".cart_form input[name='name']").suggestions({
        serviceUrl: "https://dadata.ru/api/v2/suggest/fio",
        type: "NAME",
        token: "ваш API-ключ",
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
    $(".cart_form input[name='address']").suggestions({
    serviceUrl: "https://dadata.ru/api/v2/suggest/address",
    type: "ADDRESS",
    token: "ваш API-ключ",
    /* Вызывается, когда пользователь выбирает одну из подсказок */
    onSelect: function(suggestion) {
        console.log(suggestion);
    }
    });
</script>
{/literal}
Link to post
Share on other sites
  • 2 months later...
  • 3 months later...
  • 2 years later...

 

Новая версия api работает уже практически идеально.

{literal}
<link href="https://dadata.ru/static/css/suggestions-4.3.css" type="text/css" rel="stylesheet" />
<!--[if lt IE 10]>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://dadata.ru/static/js/jquery.suggestions-4.3.min.js"></script>
<script type="text/javascript">
    $(".cart_form input[name='name']").suggestions({
        serviceUrl: "https://dadata.ru/api/v2/suggest/fio",
        type: "NAME",
        token: "ваш API-ключ",
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
    $(".cart_form input[name='address']").suggestions({
    serviceUrl: "https://dadata.ru/api/v2/suggest/address",
    type: "ADDRESS",
    token: "ваш API-ключ",
    /* Вызывается, когда пользователь выбирает одну из подсказок */
    onSelect: function(suggestion) {
        console.log(suggestion);
    }
    });
</script>
{/literal}

Перестало работать, ребят., очень нужно! Сделайте пожалуйста

Link to post
Share on other sites

 

какую ошибку выдает в консоли? вы ввели ваш ключ апи? 

token: "ваш API-ключ",

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

Link to post
Share on other sites

 

имя поля то. а класс формы покажите

 

ну да. у вас нету нигде класса .cart_form либо сделайте див какой-то и оберните им все поля первого скрина, либо замените в коде

$(".cart_form input

на

$(".form-group input
Link to post
Share on other sites

 

ну да. у вас нету нигде класса .cart_form либо сделайте див какой-то и оберните им все поля первого скрина, либо замените в коде

$(".cart_form input

на

$(".form-group input

 

не работает((( 

Link to post
Share on other sites
  • 1 month later...

что в консоли пишет? ошибка какая. и код какой вышел покажите

 

ошибка была с https, даже прописали и прямо https и просто //, все равно вываливалась ошибка

 

Решили временно просто локальной копией скриптов

Link to post
Share on other sites
  • 1 year later...

ошибка была с https, даже прописали и прямо https и просто //, все равно вываливалась ошибка

 

Решили временно просто локальной копией скриптов

 

 

что именно сделали?

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...