Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Sha

Users
  • Posts

    1,030
  • Joined

  • Last visited

Everything posted by Sha

  1. а ведь тема-то насущная, раз столько страниц настрочили. Тоже не раз бывал в подобных ситуациях, причём с разных сторон. Тут просто каждый рассуждает со своей колокольни, и всё что я вижу тупо эмоции. Иногда настолько комфортно работать с человеком, что и без ТЗ всё "плывёт" как по маслу. Но это редкость. А иногда жалеешь, что брачный договор на старте не заключил)
  2. Попробовать отключить перезагрузку в simple на данном поле. Если не справитесь- напишите в личку, и мы постараемся вам помочь. но техподдержка только купившим модуль, вас я не вижу в списке покупателей.
  3. Кто-то пробовал набрать в консоли ++[[]][+[]]+[+[]] ?
  4. попробуйте function setConstraints(sgt, kladr_id) { sgt.setOptions({ constraints: { locations: [{ "city": "Город по которому нужна фильтрация" }] }, restrict_value: true }); }
  5. Здравствуйте! Спасибо за интерес к нашим модулям! FAQ: пример настройки с модулем simple. FAQ: Если не знаете какие настройки выбрать. другие примеры. Офф.документация от dadata Один и Два. Полностью бесплатно исходный код модуля! Если не подходит такой вариант, то модуль с индивидуальной настройкой и адаптацией и возможностью скачивать новые версии в течение года стоит 1500р. (сейчас по скидке 990р.) и 750р. (сейчас по скидке 499р.) включительно. Для тех кто не очень располагает средствами и/или хочет сэкономить есть возможность купить модуль только с годовой подпиской на обновления за 750р. (сейчас по скидке 499р.).
  6. @Dm85438 Здравствуйте! 1) Да, конечно, тестовый домен входит в лицензию. 2) должен работать, если нет постараемся адаптировать. 3) модуль учитывает такие "соседние" поля.
  7. // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = ""; // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", geoLocation: false, onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { $address.val(a); $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) { 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); } } 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) { $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); } } 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 /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('input[name*="city"]'); var $address = $('input[name*="address_1"]'); var $postcode = $('input[name*="postcode"]'); var $zoneId = $('select[name*="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 = $('input[name*="lastname"]'); var $name = $('input[name*="firstname"]'); initName($surname, $name); // Для блока email с проверкой есть ли данный инпут var $email = $('input[name*="e-mail"]'); if ($email.length) { $email.suggestions({ token: token, type: "EMAIL", }); }
  8. // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = ""; // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", geoLocation: false, onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected, beforeRender: inputChanged }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected, beforeRender: inputChanged }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; var cityChanged = 0; console.log(0) function inputChanged() { cityChanged = 1 console.log(1) } $city.on("suggestions-fixdata", function(e, suggestion) { //console.log(suggestion); $address.val(a); $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) { $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) { console.log('restrict address value'); 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 /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('input[name*="city"]'); var $address = $('input[name*="address_1"]'); var $postcode = $('input[name*="postcode"]'); var $zoneId = $('select[name*="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 = $('input[name*="lastname"]'); var $name = $('input[name*="firstname"]'); initName($surname, $name); // Для блока email с проверкой есть ли данный инпут var $email = $('input[name*="e-mail"]'); if ($email.length) { $email.suggestions({ token: token, type: "EMAIL", }); }
  9. Проверьте права в Система -> Пользователи -> Группы пользователей. или напишите в личку мы Вам поможем с установкой и настройкой в рамках техподдержки.
  10. попробуйте delete/install в админке, у вас просто не создалась таблица БД во время установки.
  11. это и есть модуль, его устанавливать. в архиве data_layout_type.zip находятся дополнительные файлы, которые нужны не всем, в частности адаптация под hyper position и файл readme. то-есть 1) устанавливаете ocmod файл (sha_layout_type-(1.2.3)_(oc3.0).ocmod.zip) всё. и только если у Вас установлен hyper position и Вы хотите их подружить то 2) дополнительно устанавливаете ocmod файл (sha_layout_type_for_hyper_position-(1.2.3)_(oc3.0).ocmod.zip)
  12. вам на витрине нужно отсортировать? тогда это делается в схемах.
  13. https://opencartforum.com/files/file/8735-extension-manager-menedzher-rasshireniy/
  14. на UniShop жалоб вроде не было. но зависит от того использует ли шаблон модульную систему согласно архитектуре опенкарт или автор шаблона/сайта ни чего не слышал об CMS для которой шаблон выпустил.
  15. // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; function join(arr /*, separator */) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function(n){return n}).join(separator); } function showPostalCode(address) { $("#shipping_address_postcode").val(address.postal_code); } function showRegion(address) { $region = $("#shipping_address_zone_id"); if ($region.length && typeof(address.region) !== 'undefined' && address.region) { 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 showCity(address) { $("#shipping_address_city").val(join([ join([address.city_type, address.city], " "), join([address.settlement_type, address.settlement], " ") ])); } function showAddress(address) { insert = ''; if (typeof(address.settlement) !== 'undefined' && address.settlement) insert += join([address.settlement_type, address.settlement], " ") insert += join([ join([address.street_type, address.street], " "), join([address.house_type, address.house], " ") ]) if (parseInt(address.block) > 0) insert += join([address.block_type, address.block], " "); if (parseInt(address.flat) > 0) insert += join([address.flat_type, address.flat], " "); $("#shipping_address_address_1").val(insert); } // function showStreet(address) { // $("#shipping_address_street").val( // join([address.street_type, address.street], " ") // ); // } // function showHouse(address) { // $("#house").val(join([ // join([address.house_type, address.house], " "), // join([address.block_type, address.block], " ") // ])); // } // function showFlat(address) { // $("#flat").val( // join([address.flat_type, address.flat], " ") // ); // } var cityChanged = 0; function inputChanged(a,b,c) { cityChanged = 1 } function showSelected(suggestion) { var address = suggestion.data; showPostalCode(address); showRegion(address); showCity(address); showAddress(address); // showStreet(address); // showHouse(address); // showFlat(address); if (cityChanged) reloadAll() } $("#shipping_address_address_2").suggestions({ token: token, type: "ADDRESS", onSelect: showSelected, beforeRender: inputChanged });
×
×
  • 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.