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

TarasKhust

Пользователи
  
  • Posts

    103
  • Joined

  • Last visited

Recent Profile Visitors

1,436 profile views

TarasKhust's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

8

Reputation

  1. вот тут был баг, можно просто закомментировать, строка 2510, admin/controler/extension/module/exchance1c // олистка кэша картинок // $imgfiles = glob(DIR_IMAGE . 'cache/*'); // foreach ($imgfiles as $imgfile) { // $this->cleanDir($imgfile); // $this->log("Удноние картинки: " . $imgfile ,2); // } // $result .= "Олиещён кэш картинок: /image/cache/*\n"; // // return $result;
  2. нашол ичто один баг, при обновление товара, удаляется весь кеш фото....
  3. в файле admin\model\extension\exchange1c.php строку (5114) $data['description'] = nl2br(htmlspecialchars((string)$product->Описание)); заменить на строку $data['description'] = str_replace(array("\r\n", "\r", "\n"), '', nl2br(htmlspecialchars((string)$product->Описание))); потом полистить кеш и обновить модификатор - и сгделать обмен
  4. ну да у меня нету характеристик, у меня в описании характеристики, на сиром модуле ик же было и все окей, надо найти ету функцию и убрать формирование символа переноса
  5. Здравствуйте! ocstore 2.3 модуль v 1.6.4.1 при обмене, обновлении или добавлении описания добавляется значение /n с каждой новой строки. что это может быть? <Товары> <Товар> <Ид>78e0b2aa-8d51-11e6-8313-1c750867036f</Ид> <Штрихкод>4820143570774</Штрихкод> <Код>ЦУ000003774</Код> <Артикул>AL0666</Артикул> <Наименование>AL-PLASTIK MINIBOX Контейнер квадратный №02 0,6 л 1153</Наименование> <БазоваяЕдиница Код="796" НаименованиеПолное="шт.">шт.</БазоваяЕдиница> <Группы> <Ид>6c4e0ec6-d423-11e5-8220-1c750867036f</Ид> </Группы> <Описание>Артикул: 1153 Бренд: AL-PLASTIK Серия: MINIBOX Контейнер пиещёвой №09 Обьем: 600мл Материал: пластик </Описание> Артикул: 1153\nБренд: AL-PLASTIK\nСерия: MINIBOX \nКонтейнер пиещёвой №09\nОбьем: 600мл\nМатериал: пластик \n 2018-02-26 12:11:41 - 1556 | Отличается поле 'description', сирое: Артикул: 1153<br />\nБренд: AL-PLASTIK<br />\nСерия: MINIBOX <br />\nКонтейнер пиещёвой №09<br />\nОбьем: 600мл<br />\nМатериал: пластик <br />\n, новое: Артикул: 1153<br /> Бренд: AL-PLASTIK<br /> Серия: MINIBOX <br /> Контейнер пиещёвой №09<br /> Обьем: 600мл<br /> Материал: пластик <br /> 2018-02-26 12:11:41 - 2321 | 2018-02-26 12:11:41 - Array ( [description] => Артикул: 1153<br />\nБренд: AL-PLASTIK<br />\nСерия: MINIBOX <br />\nКонтейнер пиещёвой №09<br />\nОбьем: 600мл<br />\nМатериал: пластик <br />\n )
  6. Дайте ключ я купил модуль сколько ичто писать? гделаю запрос 0 реакции... посмотрите профиль есть купленный модуль.
  7. анологичная проблема.... отвеи икже нету в гугле мире
  8. У кого-то спинеты есть, а то у меня микроразметка есть, в вебмастере тоже все есть размечено, а при нахожгдение товара в поиске снипетов нету ни этоны, ни налилия....
  9. Здравствуйте! посивил на Ocstore 2.3 jquery.lazyload.js подгрузка изображения при прокрутке страницы, проблема в том что при первом захогде на сайт быстрее появляеться alt или title изображения, а потом уже подгружаеться фото скриптом... и получаеться некрасиво, как на скрине, может можно скрыть отображение титла или альи, правда он им выводиться php кодом и бугдет ли поисковик видит что у фото есть альт если скрыть, или ето со скриптом беда? (function($, window, document, undefined) { var $window = $(window); $.fn.lazyload = function(options) { var elements = this; var $container; var settings = { threshold : 0, failure_limit : 0, event : "scroll", effect : "show", container : window, data_attribute : "original", skip_invisible : false, appear : null, load : null, placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQRUAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" }; function update() { var counter = 0; elements.each(function() { var $this = $(this); if (settings.skip_invisible && !$this.is(":visible")) { return; } if ($.abovethetop(this, settings) || $.leftofbegin(this, settings)) { /* Nothing. */ } else if (!$.belowthefold(this, settings) && !$.rightoffold(this, settings)) { $this.trigger("appear"); /* if we found an image we'll load, reset the counter */ counter = 0; } else { if (++counter > settings.failure_limit) { return false; } } }); } if(options) { /* Maintain BC for a couple of versions. */ if (undefined !== options.failurelimit) { options.failure_limit = options.failurelimit; delete options.failurelimit; } if (undefined !== options.effectspeed) { options.effect_speed = options.effectspeed; delete options.effectspeed; } $.extend(settings, options); } /* Cache container as jQuery as object. */ $container = (settings.container === undefined || settings.container === window) ? $window : $(settings.container); /* Fire one scroll event per scroll. Not one scroll event per image. */ if (0 === settings.event.indexOf("scroll")) { $container.on(settings.event, function() { return update(); }); } this.each(function() { var self = this; var $self = $(self); self.loaded = false; /* If no src attribute given use data:uri. */ if ($self.attr("src") === undefined || $self.attr("src") === false) { if ($self.is("img")) { $self.attr("src", settings.placeholder); } } /* When appear is triggered load original image. */ $self.one("appear", function() { if (!this.loaded) { if (settings.appear) { var elements_left = elements.length; settings.appear.call(self, elements_left, settings); } $("<img />") .one("load", function() { var original = $self.attr("data-" + settings.data_attribute); $self.hide(); if ($self.is("img")) { $self.attr("src", original); } else { $self.css("background-image", "url('" + original + "')"); } $self[settings.effect](settings.effect_speed); self.loaded = true; /* Remove image from array so it is not looped next time. */ var temp = $.grep(elements, function(element) { return !element.loaded; }); elements = $(temp); if (settings.load) { var elements_left = elements.length; settings.load.call(self, elements_left, settings); } }) .attr("src", $self.attr("data-" + settings.data_attribute)); } }); /* When wanted event is triggered load original image */ /* by triggering appear. */ if (0 !== settings.event.indexOf("scroll")) { $self.on(settings.event, function() { if (!self.loaded) { $self.trigger("appear"); } }); } }); /* Check if something appears when window is resized. */ $window.on("resize", function() { update(); }); /* With IOS5 force loading images when navigating with back button. */ /* Non optimal workaround. */ if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) { $window.on("pageshow", function(event) { if (event.originalEvent && event.originalEvent.persisted) { elements.each(function() { $(this).trigger("appear"); }); } }); } /* Force initial check if images should appear. */ $(document).ready(function() { update(); }); return this; }; /* Convenience methods in jQuery namespace. */ /* Use as $.belowthefold(element, {threshold : 100, container : window}) */ $.belowthefold = function(element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop(); } else { fold = $(settings.container).offset().top + $(settings.container).height(); } return fold <= $(element).offset().top - settings.threshold; }; $.rightoffold = function(element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = $window.width() + $window.scrollLeft(); } else { fold = $(settings.container).offset().left + $(settings.container).width(); } return fold <= $(element).offset().left - settings.threshold; }; $.abovethetop = function(element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = $window.scrollTop(); } else { fold = $(settings.container).offset().top; } return fold >= $(element).offset().top + settings.threshold + $(element).height(); }; $.leftofbegin = function(element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = $window.scrollLeft(); } else { fold = $(settings.container).offset().left; } return fold >= $(element).offset().left + settings.threshold + $(element).width(); }; $.inviewport = function(element, settings) { return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) && !$.belowthefold(element, settings) && !$.abovethetop(element, settings); }; /* Custom selectors for your convenience. */ /* Use as $("img:below-the-fold").something() or */ /* $("img").filter(":below-the-fold").something() which is faster */ $.extend($.expr[":"], { "below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); }, "above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); }, "right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); }, "left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); }, "in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); }, /* Maintain BC for couple of versions. */ "above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); }, "right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); }, "left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); } }); })(jQuery, window, document); footer ефект <script type="text/javascript"> $(function(){ $("img.img-responsive").lazyload({ effect: "fadeIn", effectspeed: 600, threshold: 100, skip_invisible : true }); });</script> код вывода фото <img data-original="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div>
×
×
  • 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.