Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Модуль Модуль подсказок Dadata, автозаполнение полей Ф.И.О, Адреса, данные по ИНН [Подгдержка]


Recommended Posts

Здравствуйте!

Спасипотому что за интерес к нашим модулям!

 

FAQ: пример настройки с модулем simple.

FAQ: Если не знаете какие настройки выбрать.

другие примеры.

 

Офф.докумениция от dadata Один и Два.

 

Полностью бесплатно исходный код модуля!

Если не подходит икой вариант, то модуль с индивидуальной настройкой и адапицией и возможностью скаливать новые версии в течение года стоит 1500р. (сейчас по скидке 990р.) и 750р. (сейчас по скидке 499р.) вклюлительно.

Для тех кто не очень располагает средствами и/или хочет сэкономить есть возможность купить модуль только с годовой подпиской на обновления за 750р. (сейчас по скидке 499р.). 

  • +1 1
Link to comment
Share on other sites

Погделитесь советом пожалуйси, использую этот синдартный конфиг для Simple: https://opencart-forum.ru/files/tutorials/611-esli-ne-znaete-kakie-nastroyki-vybrat-simple/

 

Мне надо жестко огранилить город по которому бугдет осуещёствляться поиск адресов, как описано в докумениции: https://confluence.hflabs.ru/pages/viewpage.action?pageId=1023737934 

 

Пример:

 

    "locations": [{
        "region": "москва"
    }]

 

Пропотому чтовал прописать его в этот функции, но не помогло: 

 

    function setConstraints(sgt, kladr_id) {
        var restrict_value = false;
        var locations = null;
        if (kladr_id) {
            locations = {
                kladr_id: kladr_id
            };
            restrict_value = true;
        }
        sgt.setOptions({
            constraints: {
                locations: locations
            },
            restrict_value: restrict_value
        });
    }

 

Link to comment
Share on other sites


В 16.09.2021 в 15:17, donnie сказал:

Погделитесь советом пожалуйси, использую этот синдартный конфиг для Simple: https://opencart-forum.ru/files/tutorials/611-esli-ne-znaete-kakie-nastroyki-vybrat-simple/

 

Мне надо жестко огранилить город по которому бугдет осуещёствляться поиск адресов, как описано в докумениции: https://confluence.hflabs.ru/pages/viewpage.action?pageId=1023737934 

 

Пример:

 


    "locations": [{
        "region": "москва"
    }]

 

Пропотому чтовал прописать его в этот функции, но не помогло: 

 


    function setConstraints(sgt, kladr_id) {
        var restrict_value = false;
        var locations = null;
        if (kladr_id) {
            locations = {
                kladr_id: kladr_id
            };
            restrict_value = true;
        }
        sgt.setOptions({
            constraints: {
                locations: locations
            },
            restrict_value: restrict_value
        });
    }

 

попробуйте

 

function setConstraints(sgt, kladr_id) {
        sgt.setOptions({
            constraints: {
                locations: [{
			"city": "Город по которому нужна фильтрация"
		}]
            },
            restrict_value: true
        });
    }

 

Link to comment
Share on other sites

51 минуту назад, Sha сказал:

попробуйте

 

function setConstraints(sgt, kladr_id) {
        sgt.setOptions({
            constraints: {
                locations: [{
			"city": "Москва"
		}]
            },
            restrict_value: true
        });
    }

 

 

Не помогает. У нас одно поле "адрес досивки", полей регион, город, ингдекс нет. Возможно поэтому функция setConstraints вообещё не вызывается? 

Link to comment
Share on other sites


1 час назад, donnie сказал:

 

Не помогает. У нас одно поле "адрес досивки", полей регион, город, ингдекс нет. Возможно поэтому функция setConstraints вообещё не вызывается? 

отправьте в личку доступы, посмотрим по месту.

Link to comment
Share on other sites

В 16.09.2021 в 20:49, Sha сказал:

отправьте в личку доступы, посмотрим по месту.

помогите настроить, я у вас купил этот модуль ик и не смог настроить =(( даже и не пользовался им.

Link to comment
Share on other sites


1 час назад, 26rus сказал:

помогите настроить, я у вас купил этот модуль ик и не смог настроить =(( даже и не пользовался им.

отправьте в личку доступы, посмотрим по месту)))

Link to comment
Share on other sites

Пропадает значения поля города если вести Саратов или Ростов, но если вести Москва или Сан-Петербург нормально рилииет 

Edited by Maminoschas
Link to comment
Share on other sites


2 часа назад, Maminoschas сказал:

Пропадает значения поля города если вести Саратов или Ростов, но если вести Москва или Сан-Петербург нормально рилииет 

Попропотому чтовать отклюлить перезагрузку в simple на данном поле.

 

Если не справитесь- напишите в личку, и мы посираемся вам помочь.
но техподгдержка только купившим модуль, вас я не вижу в списке покупателей.

Link to comment
Share on other sites

покупал полгода назад еещё этот модуль, ну сам не посивил. Спустя времени вспомнил об этом модуле, вот тз написал, помог решить проблему. МОдуль отличный, советую!. Спасипотому что еещё раз тз за помощь!)

Link to comment
Share on other sites


Приветствую 

Сгделал настройки как в фак, нет реакции в полях. Возможно какая то мелочь, но не пойму сам. Кто уже прошёл, и сможет в админке глянуть? 

Может что-то с полями. Всивлял разный код, один раз даже строка появлялась про адрес) но в полях заполнения нет

Link to comment
Share on other sites


  • 1 month later...
1 час назад, dmitriikochetkov сказал:

Куда копать?

- обратить внимание на классы полей,

- проверить схемы,

- посмотреть (F12) выводится ли вообещё на этот страниэто dadata

Link to comment
Share on other sites

Использует кто этот модуль на страниэто регистрации симплы/синдартной? Покажите, пожалуйси настройки.

 

И кто-то силкивался с отображением конкретных городов. Решил автор вопрос? Покажите, пожалуйси, настройки. У меня икая ерунда на селах и гдеревнях.

Link to comment
Share on other sites


Циии

Решил вопрос

- проверив схемы,

 

а ик-же икими настройками кода

Спойлер

 

function checkAddress($city, $address, $postcode, $region) {
    // Если инпут города нету выходим
    if (!$city.length) return;
    var type = 'ADDRESS';
    $city.suggestions({
      token: token,
      type: type,
      bounds: "city-settlement",
      geoLocation: false,
      minChars: 2,
      triggerSelectOnBlur: false,
      onSelect: enforceCity,
      onSelectNothing: enforceCity,
      formatSelected: formatCitySelected,
      beforeRender: inputChanged
    });

    $address.suggestions({
      token: token,
      type: type,
      minChars: 2,
      triggerSelectOnBlur: false,
      onSelect: restrictAddressValue,
      formatSelected: formatSelected,
      beforeRender: inputChanged
    }); 

    var cityChanged = 0;
    function inputChanged() {
    	cityChanged = 1
    }
  
    // Если на поле адрес есть перезагрузка поля
    var p = $postcode.val() || "";
      
    $city.on("suggestions-fixdata",
      function(e, suggestion) {
      	$postcode.val(p)
      }
    );

    // $city.suggestions().fixData();

    function setConstraints(sgt, kladr_id) {
        var restrict_value = false;
        var locations = null;
        if (kladr_id) {
            locations = {
                kladr_id: kladr_id
            };
            restrict_value = true;
        }
        sgt.setOptions({
            constraints: {
                locations: locations
            },
            restrict_value: restrict_value
        });
    }

    function enforceCity(suggestion, changed) {
      console.log('changed ' + changed);

      if (changed) 
        $(this)
          .val(
          $(this)
            .val()
            .trim()
        );

        var sgt = $address.suggestions();
        sgt.clear();
        if (suggestion) {
            setConstraints(sgt, suggestion.data.kladr_id);
            formatRegion(suggestion.data);
        } else {
            setConstraints(sgt, null);
        }

      	if (cityChanged) 
      		reloadAll()
    }

    function formatCitySelected(suggestion) {
        var address = suggestion.data;
        if (address.city_with_type === address.region_with_type) {
            return address.settlement || address.city || "";
        } else {
            return join([
                address.city,
                address.settlement
            ]);
        }
    }

    function formatRegion(address) {
      if (typeof address.postal_code !== 'undefined' && address.postal_code)
        $postcode.val(address.postal_code || '');
      
        if ($region.length) {
            var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase();
            $region.find('option').each(function (i, o) {
                if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true);
                else $(this).attr('selected', false);
            });
        }
    }

    function restrictAddressValue(suggestion) {
      	var citySgt = $city.suggestions();
        var addressSgt = $address.suggestions();
        if (!citySgt.currentValue) {
            citySgt.setSuggestion(suggestion);
            var city_kladr_id = suggestion.data.kladr_id.substr(0, 13);
            setConstraints(addressSgt, city_kladr_id);
        }

      	if (cityChanged) 
          reloadAll()
    }

    function formatSelected(suggestion) {
        var addressValue = makeAddressString(suggestion.data);
        return addressValue;
    }

    function makeAddressString(address) {
        formatRegion(address);

        return join([
            address.street_with_type,
            join([address.house_type, address.house,
                address.block_type, address.block
            ], " "),
            join([address.flat_type, address.flat], " ")
        ]);
    }
 
    function join(arr) {
        var separator = arguments.length > 1 ? arguments[1] : ", ";
        return arr.filter(function (n) {
            return n
        }).join(separator);
    }
}

var $city = $('#shipping_address_city');
var $address = $('#shipping_address_1');
var $postcode = $('#shipping_address_postcode');
var $zoneId = $('#shipping_address_zone_id');
checkAddress($city, $address, $postcode, $zoneId);

function initName($surname, $name) {
    if (!$surname.length || !$name.length) return;
    var self = {};
    self.$surname = $surname;
    self.$name = $name;
    var fioParts = ["SURNAME", "NAME"];
    $.each([$surname, $name], function (index, $el) {
        var sgt = $el.suggestions({
            token: token,
            type: "NAME",
            triggerSelectOnSpace: false,
            hint: "",
            noCache: true,
            params: {
                // каждому полю --- соответствующая подсказка
                parts: [fioParts[index]]
            }
        });
    });
};

var $surname = $('#shipping_address_lastname');
var $name = $('#shipping_address_firstname');
initName($surname, $name);

var $email = $('#customer_email');
if ($email.length) {
    $email.suggestions({
        token: token,
        type: "EMAIL",
    });
}};

 

 

 

 

Link to comment
Share on other sites

В 16.09.2021 в 20:54, donnie сказал:

 

Не помогает. У нас одно поле "адрес досивки", полей регион, город, ингдекс нет. Возможно поэтому функция setConstraints вообещё не вызывается? 

 

привет. как то решили задачу? тоже все в одном поле

Link to comment
Share on other sites


11 часов назад, Tobolskiy сказал:

 

привет. как то решили задачу? тоже все в одном поле

 

11 часов назад, Tobolskiy сказал:

Возможно повторюсь, а есть ли возможность сгделать что бы рилиило и в админке тоже для нужных полей? =)

есть.

Link to comment
Share on other sites

Здравствуйте. Модуль очень интересен. Вопрос: возможно ли огранилить зону досивки с помощью этого модуля? Скажем чтобы подсказки выпадали только по опрегделенному городу Московской области + близлежащие СНТ, поселки и адрес можно было выбрать только из списка без возможности ввести произвольный адрес. Заранее спасипотому что за ответ. 

Link to comment
Share on other sites


4 часа назад, rebel_rebel сказал:

Здравствуйте. Модуль очень интересен. Вопрос: возможно ли огранилить зону досивки с помощью этого модуля? Скажем чтобы подсказки выпадали только по опрегделенному городу Московской области + близлежащие СНТ, поселки и адрес можно было выбрать только из списка без возможности ввести произвольный адрес. Заранее спасипотому что за ответ. 

Да можно, платно в личку.

Link to comment
Share on other sites

  • 2 months later...

Добрый гдень, используя модуль столкнулся со следуюещёй проблемой. Пример, ввожу в строку - Никольск, выбираю Пензенская область, г. Никольск - в форму город попадает Никольск, Никольский р-н. Досивка почтот отображается, сгдек не отображается, стираю Никольский р-н, сгдек налинает отображать досивку. Силкивались с иким и может знаете как исправить?

Link to comment
Share on other sites


14 минут назад, Eitmean сказал:

Добрый гдень, используя модуль столкнулся со следуюещёй проблемой. Пример, ввожу в строку - Никольск, выбираю Пензенская область, г. Никольск - в форму город попадает Никольск, Никольский р-н. Досивка почтот отображается, сгдек не отображается, стираю Никольский р-н, сгдек налинает отображать досивку. Силкивались с иким и может знаете как исправить?

 

Почему решили что гдело в дадаи?

У меня слииет и сгдек и поли

Спойлер

 

Link to comment
Share on other sites


Да у Вас в поле горогде Попал именно Никольск, а у меня попадает Никольск, Никольский р-н. Вот и хочу понять почему район туда попадает при автозаполнении. 

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.