-
Posts
1,030 -
Joined
-
Last visited
Content Type
Profiles
Forums
Marketplace
Articles
FAQ
Our New
Store
Blogs
module__dplus_manager
Everything posted by Sha
-
Напишисал в личку.
-
Недопонимание с программистом при создании нового сайта.
Sha replied to Zauresh's topic in Opencart 3.x: Sandbox
а ведь тема-то насущная, раз столько страниц настрочили. Тоже не раз бывал в подобных ситуациях, причём с разных сторон. Тут просто каждый рассуждает со своей колокольни, и всё что я вижу тупо эмоции. Иногда настолько комфортно работать с человеком, что и без ТЗ всё "плывёт" как по маслу. Но это редкость. А иногда жалеешь, что брачный договор на старте не заключил) -
Недопонимание с программистом при создании нового сайта.
Sha replied to Zauresh's topic in Opencart 3.x: Sandbox
"Недопонимание"! - как много в этом слове!) -
theme Выбираем лучший платный шаблон для сайта (Топ платных шаблонов)
Sha commented on buslikdrev's blog entry in Блог
. -
Конкурс «Популярная новинка».
Sha replied to News's topic in Акції, подарунки, конкурси та винагороди
А результаты-то где? -
База данных областей и городов Украины
Sha replied to AndreLisif's topic in Opencart 2.x: Extension search
450р вместе с simple.)) -
Кто-то пробовал набрать в консоли ++[[]][+[]]+[+[]] ?
-
Здравствуйте! Спасибо за интерес к нашим модулям! FAQ: пример настройки с модулем simple. FAQ: Если не знаете какие настройки выбрать. другие примеры. Офф.документация от dadata Один и Два. Полностью бесплатно исходный код модуля! Если не подходит такой вариант, то модуль с индивидуальной настройкой и адаптацией и возможностью скачивать новые версии в течение года стоит 1500р. (сейчас по скидке 990р.) и 750р. (сейчас по скидке 499р.) включительно. Для тех кто не очень располагает средствами и/или хочет сэкономить есть возможность купить модуль только с годовой подпиской на обновления за 750р. (сейчас по скидке 499р.).
-
// Ваш 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", }); }
-
// Ваш 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", }); }
-
Модуль остальные товары из категории.
Sha replied to Persov's topic in Opencart 2.x: Extension search
Проще написать. -
попробуйте delete/install в админке, у вас просто не создалась таблица БД во время установки.
-
это и есть модуль, его устанавливать. в архиве 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)
-
вам на витрине нужно отсортировать? тогда это делается в схемах.
-
https://opencartforum.com/files/file/8735-extension-manager-menedzher-rasshireniy/
-
на UniShop жалоб вроде не было. но зависит от того использует ли шаблон модульную систему согласно архитектуре опенкарт или автор шаблона/сайта ни чего не слышал об CMS для которой шаблон выпустил.
-
// Ваш 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 });