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

sashaustenko

Users
  
  • Posts

    542
  • Joined

  • Last visited

Everything posted by sashaustenko

  1. Ага... Пока что спасибо, попробую разобраться. Может допишу другие модулю сюда.
  2. Здравствуйте. Помогите убрать проверку за доставку в js, кто-то может помочь, не могу понять где копать. То есть. срабатывает только на определенные методы модуля "Новая Почта API" Автору писал, он ответил - Убрать проверку в JS, и пропадает на 2-е суток :(( Мне срочно нужно исправить, чтобы для всех методов доставки, то есть всех модулей доставки работало отображение городов и отделение Новой Почты. <script type="text/javascript"><!-- // Autocomplete for shipping addresses (function ($) { var methods = { init: function (options) { return this.each(function () { var $this = $(this); var data = $this.data('autocompleteAddress'); // If the plugin is not yet initialized if (!data) { $this.timer = null; $this.items = new Array(); $.extend($this, options); $this.attr('autocomplete', 'new-password'); // Focus $this.on('focus.autocompleteAddress', function () { $this.request(''); } ); // Blur $this.on('blur.autocompleteAddress', function () { setTimeout(function (object) { object.hide(); }, 200, $this); } ); // Keydown $this.on('keydown.autocompleteAddress', function (event) { switch (event.keyCode) { case 27: // escape $this.hide(); break; default: $this.request(); break; } } ); // Click $this.click = function (event) { event.preventDefault(); var value = $(event.target).parent().attr('data-value'); if (value && $this.items[value]) { $this.select($this.items[value]); } } // Show $this.show = function () { var pos = $this.position(); $this.siblings('ul.' + $this.class).css({ 'top': pos.top + $this.outerHeight(), 'left': pos.left }); $this.siblings('ul.' + $this.class).show(); } // Hide $this.hide = function () { $this.siblings('ul.' + $this.class).hide(); } // Request $this.request = function (search) { clearTimeout($this.timer); $this.timer = setTimeout(function (object) { search = (typeof(search) === 'undefined') ? object.val() : search; object.source(search, $.proxy(object.response, object)); }, 200, $this); } // Response $this.response = function (json) { var html = ''; if (json.length) { for (i = 0; i < json.length; i++) { this.items[json[i]['value']] = json[i]; html += '<li data-value="' + json[i]['value'] + '"><a href="#">' + json[i]['label'] + '</a></li>'; } } if (html && $this.is(':focus')) { $this.show(); } else { $this.hide(); } $this.siblings('ul.' + $this.class).html(html); } $this.after('<ul class="' + $this.class + '"></ul>'); $this.siblings('ul.' + $this.class).delegate('a', 'click', $.proxy($this.click, $this)); $this.data('autocompleteAddress', true); } } ); }, destroy: function () { return this.each(function () { var $this = $(this); $this.removeData('autocompleteAddress'); $this.off('.autocompleteAddress'); } ); } }; $.fn.autocompleteAddress = function (method) { if (methods[method]) { return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof (method) === 'object' || !method) { return methods.init.apply(this, arguments); } else { $.error('Method "' + method + '" does not exist for jQuery.autocompleteAddress'); } } } )(window.jQuery); // ShippingData object function ShippingData() { var self = this; var src, method, lang; self.methods_city = [ 'novaposhta.warehouse', 'novaposhta.doors' ]; self.methods_address = [ 'novaposhta.warehouse' ]; self.setProp = function () { self.method = $('input[name="shipping_method"]:checked').val() || $('select[name="shipping_method"]').val(); self.lang = $('html').attr('lang'); } self.handlerChanges = function (name, value) { if ($.inArray(self.method, self.methods_city.concat(self.methods_address)) != - 1) { if (name.match(/zone/i)) { $('input[name*="city"]:visible').val(''); $('input[name*="address_1"]:visible').val(''); } else if (name.match(/city/i)) { $('input[name*="address_1"]:visible').val(''); } else if (name.match(/shipping\_method/i)) { $('input[name*="city"]:visible').autocompleteAddress('destroy'); $('input[name*="address_1"]:visible').val('').autocompleteAddress('destroy'); self.method = value; } } else if ($.inArray(value, self.methods_city.concat(self.methods_address)) != - 1) { if (name.match(/shipping\_method/i)) { $('input[name*="city"]:visible').val(''); $('input[name*="address_1"]:visible').val(''); self.method = value; } } } self.getAddress = function (element, search) { var filter, action; if (element[0].name.match(/city/i)) { action = 'getCities'; filter = $('[name*="zone"]:visible').val() || ''; } else if (element[0].name.match(/address_1/i)) { action = 'getWarehouses'; filter = $('[name*="city"]:visible').val(); } if (!search) { search = element[0].value; } return $.ajax( { url: 'index.php?route=module/shippingdata/getShippingData', type: 'POST', data: 'shipping=' + self.method + '&action=' + action + '&filter=' + encodeURIComponent(filter) + '&search=' + encodeURIComponent(search), dataType: 'json', global: false, success: function (json) { self.src = json; } } ); } } // DOOM loaded $(function () { var shippingData = new ShippingData(); // Settings properties after DOOM load shippingData.setProp(); // Settings properties after ajaxStop $(document).ajaxStop(function () { shippingData.setProp(); // Simple checkout fix //$('.simplecheckout-block-content').css('overflow', 'visible'); $('input[name*="city"]:visible, input[name*="address_1"]:visible').blur(); } ); // Check changes document.body.addEventListener('change', function(e) { shippingData.handlerChanges(e.target.name, e.target.value); }, true); $(document).on('change', '[name*="city"]:visible', function (e) { shippingData.handlerChanges(e.target.name, e.target.value); }); // Add autocomplete for address $('body').on('focus', 'input[name*="city"]:visible, input[name*="address_1"]:visible', function () { if (this.name.match(/city/i) && $.inArray(shippingData.method, shippingData.methods_city) != - 1 || this.name.match(/address_1/i) && $.inArray(shippingData.method, shippingData.methods_address) != - 1) { $(this).autocompleteAddress( { source: function (request, response) { shippingData.getAddress(this, request).done(function () { response($.map(shippingData.src, function (item) { return { label: item['Description'], value: item['Description'] } } )); } ); }, select: function (e) { if (e.value != this.val()) { this.val(e.value).trigger('change'); simplecheckout_reload('checkout_address_changed'); } }, class: 'dropdown-address' } ); } } ); } ); //--></script>
  3. Была беда у меня с антивирусом, он в браузере выводил 1.1 версию. Настройте на хостинге/сервере h2, и отключите антивирус, если он есть. И проверьте через network браузера типа Chrome, что показывает в Protocol. А для push, я так понял нужно preload для .js, .css прописать.
  4. Почему города и отделения, показываются только в том случае, если выбран именно вариант доставки данным модулем??... А если у меня другие варианты доставки, другим модулем настроены, которым создает варианты доставки, и фильтруется с помощью модуля "Filterit"?? В общем вопрос таков: Как сделать так, чтобы город и отделение показывались, независимо от варианта выбора доставки, например вариант доставки другим модулем, самовывоз, доставки по городу, и т.д??
  5. Обновите отделения без почтоматов пожалуйста. Там почтоматы как спам, в Киеве так вовсе невозможно. Список такой длинный, что ужас.
  6. Автору модуля спасибо большое. Замечательное решения для интернет-магазина. Пользуюсь, и нет никаких нареканий.
  7. Может у человека отпуск, или поехал в отпуск, и застрял где-то из-за пандемии.
  8. Хостинг ссылается на то, что нужно править код сайта, мол сайт не настроен на "Server Push". Вот по этому и спросил, может кто знает решение?
  9. А могли бы Вы подробнее описать, в чем собственно причина, почему http/1.1 выдаёт ответ браузеру?? Какая разница если сервер VPS или обычный хост??
  10. Хостинг ukraine.com.ua, проверял с помощью сайтов, показывает поддержку http/2
  11. Всем привет. Может кто-то знает решение для перехода с http/1.1 на h2? P.s.: На сервере включил Push, сервер поддерживает h2... проверял в браузере, http/1.1 выдаёт. Буду признателен любой информации. Спасибо.
  12. Здравствуйте. Нужно для версии Opencart 1.5 решение. Спасибо.
  13. При включении BB кодов, в консоли появляется такая информация: Что это за значения, и почему они лезут в консоль?
  14. Помогите... при отключении "Визуальный редактор BB кодов", выдаётся такая ошибка в консоле:
  15. Купил модуль. Больше 5 товаров не отображается, не работает Карусель. Не перезагружается страница, при удалении товара со сравнения. Помогите.
  16. Здравствуйте. Помогите с проблемным запросом. FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_product op ON (o.order_id = op.order_id) LEFT JOIN " . DB_PREFIX . "product p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id IN ("1") AND p.status = 1 AND pd.language_id = '"1"' AND p2s.store_id = '"0"' ORDER BY o.order_id DESC LIMIT 0,15 Выполнение запроса 0,5-0,6 сек, при удалении значения ORDER BY o.order_id DESC, генерация мгновенно, но соответственно не ищет по номеру заказа информацию, все остальные быстро срабатывает. У меня не стоит Индекс на order_id. Вопрос во в чём. Если добавить Индекс на order_id, ускорит ли это запрос, и будет ли функционировать нормально после этого сайт-админка-заказы... не будут ли баги вылазить? На что может повлиять Индекс на это значение? Спасибо.
  17. Понятно, спасибо. Буду покупать нормальные модули, удачи.
  18. Так это понятное дело, ну можно же файлы оставить для пользователя, чтобы он мог на фронт их корректировать, например в папку /catalog а если есть /system и /admin, их можно и кубом закодировать. Мне вот нужны файлы /controller и /modal, чтобы настраивать под себя. Контроллер нужен например для переделки под себя модуль. И /modal для запросов к базе.
×
×
  • 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.