Jump to content

Search the Community

Showing results for tags 'javascript'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Основной
    • Новости и анонсы
    • Предложения и пожелания
    • Акции, подарки, конкурсы и награды
  • For developers
    • Общие вопросы
    • Нововведения на форуме
  • Opencart 3.x
    • Opencart 3.x: Общие вопросы
    • Opencart 3.x: Установка и обновление
    • Opencart 3.x: Локализация
    • Opencart 3.x: Настройка и оптимизация
    • Opencart 3.x: Песочница
    • Opencart 3.x: Поиск модулей
    • Opencart 3.x: Отчёты об ошибках
  • Opencart 2.x
    • Opencart 2.x: Общие вопросы
    • Opencart 2.x: Установка и обновление
    • Opencart 2.x: Локализация
    • Opencart 2.x: Настройка и оптимизация
    • Opencart 2.x: Песочница
    • Opencart 2.x: Поиск модулей
    • Opencart 2.x / ocStore 2.x: Отчёты об ошибках
  • Реклама и продвижение
    • SEO-вопросы (оптимизация и продвижение магазина)
    • Контекстная реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Поддержка и ответы на вопросы
    • Общие вопросы
    • Установка, обновление, настройка
    • Шаблоны, дизайн и оформление магазина
    • Модули и дополнения
    • Помощь программистам и разработчикам
    • Мобильная витрина
    • Вопросы безопасности
    • Перевод
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Создание магазинов под ключ
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Обновление версии движка магазина
    • Наполнение магазина
    • Системное администрирование (настройка хостинга, серверов, ПО)
    • Другие услуги
    • Отзывы об исполнителях
    • Отзывы о заказчиках
  • Разное

Categories

  • Шаблоны
    • Бесплатные шаблоны
    • Платные шаблоны
  • Filters
  • Promotions & Pricing
  • Coupons & reward points, affiliate programs
  • Blogs, News & Articles
  • Shopping Cart & Order
  • Product Options
  • Product Attributes
  • Product Combinations
  • Search
  • SEO & Optimization
  • Caching & Server Performance
  • Платежные системы
  • Доставки
  • Editors
  • Design & Navigation
  • Banners, Slideshows & Galleries
  • Email Marketing & SMS Integration
  • Customer Support & Chat
  • Обмен данными
  • Учет в заказе
  • Compare & Wishlist
  • Социальные сети
  • Parsers
  • Модули
  • Tools & Developer Tools
  • Licenses
  • Языковые пакеты
  • Прочее
  • Отчеты
  • Сборки
  • Услуги
    • Графика и дизайн
    • Маркетинг

Categories

  • Настройка OpenCart
  • Служебные документы
  • Оплата

Blogs

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • AWS
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Записки от sitecreator
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • del
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Полезное с бесполезным
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Магазин Tv-Project.com
  • Мой копирайтинг
  • Разработка под Opencart
  • SEO боксинг специального назначения
  • Подбери свои боксерские перчатки
  • Get-Web Dev
  • Seok
  • Как добавить название города к домену на Опенкарт? (город в качестве категории)
  • Оптимизация и ускорение сайта: JavaScript...
  • Best practice
  • Ultimate Guide to Building an MVP
  • Vlad-Egorov-Blog
  • Взлом почты mail.ru на заказ, взлом яндекс почты, Взлом yandex пароля, Взлом bk.ru, Взлом inbox.ru, Взлом list.ru, Взлом yandex, Взлом rambler
  • поисковая система google Вставляю мой сайт и там на японском на китайском языке Что сделать как исправить?
  • Difficulty Of Chinese Transcription and Solution - Chinese Transcription Services
  • Блог spectre
  • Авторские статьи
  • webbrowsers
  • commanddotcom
  • Внимание мошенники
  • Блог о платежах для бизнеса
  • del
  • Наблюдения обычного человека
  • SEO-тренды на 2020 год
  • Finding a Trusted Mobile App Development Company in Texas?
  • Блог Rassol2
  • Блог Exploits
  • блог для натуралов

Collections

  • Покупка дополнений
  • Общие вопросы
  • Техническая поддержка
  • Финансовый отдел

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


Skype


Город:


Интересы

Found 54 results

  1. Здравствуйте, есть пользователи из бд и я хочу чтобы при клике на имя (там расположена ссылка на страницу с детальной информацией) изменялся стиль на странице с детальной информацией. В голове примерно так выглядит но не знаю как довести до ума. $('.information-information-14 .card--info:nth-child(8) .card--link').on("click", function(){ $('.guestbook-entry .card--info3:nth-child(4)').css('display', 'block'); });
  2. Известно, что работу сайта можно разделить на две независимые составляющие с определенной степенью условности: серверную (выполнение кода PHP, выполнение запросов БД и т.п.) клиентскую (выполнение кода JavaScript и т.д. и т.п., что выполняется в браузере) Разбор полетов предлагаю делать на основе тестового сайта: https://hi-optimizer.sitecreator.pro/ Входные данные: дефолтная тема (шаблон), присутствуют на странице: Карта Яндекса Jivochat Яндекс метрика Ютюб вставка оценка гугла в этом случае падает до 29 баллов. Речь пойдет об оптимизации процессов на клиентской стороне, т.е. в браузере. Одним из важнейших и ресурсоемких процессов является выполнение программ на JavaScript в браузере. Гугл в своих рекомендациях всегда предлагает обратить внимание на долго выполняющиеся скрипты. Но помимо собственно времени выполнения скриптов есть еще один важный момент - блокирование основного потока сторонними скриптами, имеющими второстепенное значение и, как правило , не требующими срочного их выполнения, как минимум, до загрузки и показа основного контента. Как пример такого скрипта - это скрипт чата Jivisite. Итак, что мы можем оптимизировать? Ютюб-вставку и разнообразные карты (впрочем как и различные виджеты) можно показывать пользователю тогда, когда он до них долистает и не тратить время на их загрузку до загрузки основного контента. Это известный принцип отложенной ленивой загрузки (Lazy Load). Это принцип применим не только к изображениям, но и к блокам iframe, которые используют как один из вариантов размещения карт, виджетов и т.д. Метод Lazy Load настолько хорошо зарекомендовал себя, что актуальные версии браузеров поддерживают его уже на уровне встроенной поддержки, т.е. нативно. Разумно использовать Lazy Load для загрузки карт, виджетов, ютюб-вставок и пр. iframe и т.п.? Разумно. Если у вас есть иные предложения по оптимизации указанных объектов, то, милости просим, поделитесь. Документация по Lazy Load: от разработчиков FireFox https://developer.mozilla.org/ru/docs/Web/Performance/Lazy_loading документация от developers.google.com (гугл для разработчиков) Lazy Loading Images and Video С картами и ютюбом справились. Но у нас есть еще скрипт Jovosite. <script src="//code-ya.jivosite.com/widget/xxXbQf2XXX" async></script> Как видите, загружается он асинхронно, что, впрочем, не спасает от блокировки основного потока поскольку он только загружается без блокировки, а выполняется с блокировкой как только будет загружен. Логично бы сделать так чтобы он выполнялся позднее всех других скриптов на странице, а лучше после загрузки основного контента страницы. Переместим скрипт в конец страницы? <script src="//code-ya.jivosite.com/widget/XXXXXxxx" async></script> </body></html> Что мы получили от гугла в результате? блокировка уменьшилась до 670 мс против 1100, т.е. почти в два раза. Ура!? И как же гугл оценил наши усилия по оптимизации? Что-то не очень.... Вместо 29 баллов теперь 32. Всего? Да и параметр "время загрузки для взаимодействия" не радует. А давайте мы отложим загрузку и загрузим сперва основной контент целиком, включая изображения и пр. А потом уже и Jivosite отобразим. Итак, код для эксперимента (он неидеальный, т.к. не учитывает возможные медленные соединения, но для эксперимента сойдет) <script> window.onload = function() { var src="//code-ya.jivosite.com/widget/XXXxxxXXX" var js = document.createElement("script"); js.src = src; document.head.appendChild(js); }; </script> Но гугл не оценил данные усилия и продолжает настаивать на том, что Jivosite блокирует основной поток. Оценка, разумеется, не улучшилась. Что же реально может помочь изменить отношение гугла к оценке? Попробуем отложить выполнение скрипта Jivosite на 3 сек или даже на 5 сек? Чисто из соображений юзабилити это вполне оправданный ход. Окошко чата вряд ли кому-то будет нужно раньше чем через 3 или 5 сек. Гугл реагирует уже положительно прибавкой баллов за такой отложенный скрипт. Но видит ли гугл выполнение данного скрипта? Нет, не видит. Хотя гугл способен после полной загрузки страницы и ее отображения еще несколько секунд оценивать работу JS в браузере. Например, задержка в 1000 мс или 1500 мс обычно не поможет, т.к. гугл еще успеет поймать и оценить такой "запоздалый" скрипт. Задержка, которую видит гугл, зависит от нескольких факторов и не может быть универсальной для всех сайтов и всех случаев. Нельзя назвать гарантированно минимальную задержку, после которой гугл не реагирует на выполнение скриптов. Задержка отсчитывается отсчитывается от события window.onload. Чисто в экспериментальном плане задержка выполнения на несколько сек кода JS Jivosite показала, что гугл больше не ругается на блокировку основного потока данным скриптом. И он, действительно, не блокирует основной поток. Высказывалось мнение, что это, якобы, обман гугла. Чисто субъективное, без всяких пруфов мнение. Тут бы факты не помешали бы... Со своей стороны могу сказать, что использовал метод отложенной загрузки виджетов еще 5 лет назад. До сих пор на сайте именно так и загружаются виджеты с отсрочкой на 3... 5 сек. Гугл и яндекс сайт любят, т.е. никаких проблем со стороны поисковиков не возникало. Если вы знаете правильный способ оптимизации загрузки виджетов вроде Jivosite , да и любых подобных (Фейсбук, В Контакте и т.п.), то, милости просим, с вашими идеями. Если можете объяснить чем плох такой метод оптимизации загрузки JS, пожалуйста, с аргументами и фактами только. Страшилки о том, что сайт будет работать после подобной оптимизации настолько плохо, что "пользователи не смогут оформить покупки" или поисковики "пессимизируют сайт" хотелось бы чтобы были подкреплены какими то фактами, а не оставались просто фантазиями. Любой конструктивный диалог приветствуется. Примеры ваших сайтов, на которых успешно работает оптимизация Jivosite также приветствуются. Аргументы вроде не хотелось бы получать. Если решили покритиковать, то покажите как делаете вы и объясните насколько ваша идея лучше. Про секреты и ноухау лучше не стоит... Я не выдал сразу все идеи и решения по оптимизации загрузки виджетов. Еще вернусь к их реализации, но сперва интересно услышать мнения специалистов.
  3. Здравствуйте, реализованы фильтры через атрибуты товара. Проблема в том, что атрибуту можно указать лишь одно значение, можно ли после какого-либо знака: например ; увеличивать количество значений?
  4. Здравствуйте, помогите решить вопрос, хочу сделать пересчет цены в зависимости от количества товара в категориях товара, поставил счетчик а вот реализовать пересчет не получается.. OcStore 3.0.2 Вот код в category.twig отвечающий за вывод цены <div class="us-module-price"> {% if not product.special %} <span class="us-module-price-actual">{{ product.price }}</span> {% else %} <span class="us-module-price-old">{{ product.price }}</span><span class="us-module-price-new">{{ product.special }}</span> {% endif %} {% if product.tax %} <div class="price-tax">{{ text_tax }} {{ product.tax }}</div> {% endif %} </div> {% endif %} А это ниже сам счетчик {% if oc_quantity_category_status and oc_quantity_status %} <a href="javascript:void(0);" onclick="cart.add('{{ product.product_id }}', $(this).parent().parent().find('.input-number').val());" class="us-module-cart-btn button-cart">{{ button_cart }}</a> {% else %} <a href="javascript:void(0);" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');" class="us-module-cart-btn button-cart">{{ button_cart }}</a> {% endif %} {% if oc_quantity_category_status and oc_quantity_status %} <div class="input-group"> <span class="input-group-btn"> <button type="button" class="minus-square" data-type="minus" data-field="category" onclick="descrement($(this).parent().parent())" )><i class="fas fa-minus-square"></i> <span class="glyphicon glyphicon-minus"></span> </button> </span> <input type="text" name="quantity" class="form-control input-number" id="category" value="1"> <span class="input-group-btn"> <button type="button" class="plus-square" data-type="plus" data-field="category" onclick="increment($(this).parent().parent())"><i class="fas fa-plus-square"></i> <span class="glyphicon glyphicon-plus"></span> </button> </span> </div> {% endif %}</div></div></div>{% endfor %} За ранее спасибо.
  5. Вставка видео с youtube или twitch на сайт довольно обычное дело. Заходим на страницу с видео, нажимаем на кнопку поделиться, копируем iframe, вставляем в нужном месте и готово, видео сразу же появляется на сайте, но в этом и заключается проблема... Когда iframe встроен непосредственно в разметку сайта, то как только начинается загрузка страницы и браузер видит iframe он начинает загружать видео и все ресурсы необходимые для работы плеера. Сайт начинает долго грузится и как не странно жутко лагать вплоть до зависания устройства с которого пользователь посетил сайт. Помимо этого анализ производительности pagespeed insights даже из-за одного видео проседает примерно на 15 пунктов и тут я с ним полностью солидарен, если на сайте стоит preloader, то пользователь вообще может не дождаться загрузки. Поскольку мне часто приходится иметь дело с такими проблемами я написал небольшой скрипт решающие основные задачи с которыми я сталкивался. Решения в интернете есть ведь идея не нова и проблема известна давно, но они достаточно топорные и сложно расширяемые. Возможно есть какие-то плагины, но к сожалению мне не попадались, да я и не искал. Скрипт написан на чистом js, так что его можно подключить к любому проекту. Demo: https://get-web.site/insertmedia.html Репозиторий на gitHub: https://github.com/get-web/insertmedia Чтобы начать использовать необходимо подключить скрипт: <script src="../src/insertmedia.js"></script> И вызвать его: document.addEventListener("DOMContentLoaded", function () { insertmedia(); }); Можно вызвать с опциями: document.addEventListener("DOMContentLoaded", function () { insertmedia({ delay: 300, // Задержка. default: 300ms immediately: true, // тип задержки true/false. Сразу или по очереди каждый "delay" милисекунд. default: true - сразу attr: 'data-insertmedia', // Атрибут с конфигурацией вставки. В блок с этим атрибутом будет вставляться наше видео или изображение. default: data-insertmedia }) }); Блоку в который будет вставляться видео мы добавляем атрибут с параметрами: data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI", "setting" : "autoplay=1&mute=1" }' Например для вставки видео с ютуба мы можем использовать такие настройки: <div data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI", "setting" : "autoplay=1&mute=1" }'> </div> Доступные опции: type*: тип вставляемого ресурса. На данный момент это: youtube , twitch , html5 , img src*: Ссылка на ресурс (видео,картинка..) например: https://example.com/img.jpg width: Ширина доступная для вставляемого типа ресурса height: Высота доступная для вставляемого типа ресурса setting: Настройки доступные для вставляемого типа ресурса (*) - Обязательно В общем идея достаточно проста, мы передаем тип ресурса и ссылку на него без параметров, а уже в setting передаются параметры доступные для данного типа ресурса. Например фрейм ютуба по умолчанию выглядит так: <iframe width="560" height="315" src="https://www.youtube.com/embed/6Q6cCuSvFpI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> Мы можем вставить его таким образом (не используя setting или передавая пустую строку "setting": "") : <div data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI" }'> </div> Но если мы, к примеру, хотим запустить видео автоматически и без звука, фрейм будет таким: <iframe width="560" height="315" src="https://www.youtube.com/embed/6Q6cCuSvFpI?autoplay=1&mute=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> Как вы могли заметить к ссылке были добавлены необязательные параметры ?autoplay=1&mute=1 их мы и передаем в setting при использовании скрипта: <div data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI", "setting" : "autoplay=1&mute=1" }'> </div> То есть любые параметры описанные в документации к youtube вы можете использовать таким образом. Точно так же передаются параметры и другим типам ресурсов в зависимости от их API. Именно поэтому происходит разделение ссылки и параметров, чтобы можно было их интегрировать под любой тип и иметь возможность правильно составлять шаблоны для последующей вставки. Надеюсь я понятно объяснил и мой труд кому-то будет полезен. Если будут вопросы задавайте их тут. Пишите если что-то нужно добавить или исправить, или если хотите покритиковать. Источник: https://get-web.site/blog/javascript/43-insertmedia.html
  6. Здравствуйте Необходимо перевязать домены у интернет-магазина (изменить старый домен на новый) Сервер останется старый, где хранится сайт читал, что из-за смены домена может сломаться функционал сайта.... те в случае необходимости настроить работу старых модулей в сайте: корзина - смс - yml файл, настроена работа скриптов по работе с гугл таблицами те на выходе изменить домен и сохранить старую работоспособность
  7. Установлен Ocstore 3, стандартный шаблон. Появились проблемы при попытке изменить размер шрифта в главном меню из-за прописанных inline стилей такого содержания: style="font-size: 12px !important; line-height: 20px !important;"> <header style="font-size: 12px !important; line-height: 20px !important;"> <div class="container" style="font-size: 12px !important; line-height: 20px !important;"> Как отключить автоматическое добавление этих правил?
  8. Извините если было, не нашел в поиске. Изменил форму заказа, скрыл пункт "адрес доставки" и сделал чтобы в него всегда вставлялась информация из предыдущего пункта. Когда человек не зарегистрирован - все работает как надо, но если заказ делать зарегистрированным, то необходимо нажимать две кнопки подтверждения адреса. И т.к. один из пунктов скрыт - нажать на кнопку не представляется возможным. Попытался решить это через такой скрипт var $btn = $("#buttonID"), click = $btn.click.bind($btn); setTimeout(click, 400); Срабатывает, но, видимо(не силен в JS) из-за setTimeout клик повторяется каждые 400мс из-за чего следующий пункт в форме открывается/закрывается. Суть - как сделать так, чтобы клик срабатывал только один раз при переходе к этому скрытому разделу и не повторялся после нажатия кнопки? Заранее благодарю.
  9. Всем привет! Знатоки JS, нужна помощь... Есть 2 скрипта: один фиксирует всякие элементы, второй скролит страницу к якорям. 1. Фиксация. Как правильно добавить условие срабатывания скрипта при разрешении экрана менее 1200? <script type="text/javascript"> $(function(){ $(window).scroll(function() { var top = $(document).scrollTop(); if (top < 300) $(".mcdmobile-menu").css({top: '0', position: 'relative'}); else $(".mcdmobile-menu").css({top: '0', width: '100%', left: '0', position: 'fixed'}); }); }); </script> 2. Скролл. Как правильно задать значение отступа от верхней границы, чтобы "якорный" контент не перекрывался другими зафиксированными элементами, а оказался ниже? То есть, отступ от top. <script type="text/javascript" > $('.anchor').click(function(){ var target = $(this).attr('href'); $('html, body').stop().animate({ scrollTop: $(anchor.attr('href')).offset().top }, 777); e.preventDefault(); return false; }); }); </script > Буду очень благодарен за помощь знатоков!
  10. Всем привет! Нужна помощь специалиста! Столкнулся с такой проблемой. В карточке товара установлен модуль рекомендуемые товары, но вот беда, на мольных устройствах он не корректно отображается... в частности заметил такую проблему на гугл хроме, яндекс браузере. На мозиле проблем нет Ссылка на товар https://santeh-nova.com/2292-newarc-smesiteli-941881 Вот сама проблема... сжимает Подскажите, кто возможно сталкивался с данной проблемой? какие есть возможные варианты решений ?
  11. Всем привет. Ищу исполнителя. На сайте есть выпадающее меню (по нажатию - КАТАЛОГ ТОВАРОВ) Эту кнопку и все выпадающие меню нужно скрыть от поисковиков, то есть оставить для людей (юзабилити). Сделать это нужно по умному, без noindex и nofollow, я так понимаю альтернативы аяксу нет. Уверен здесь хорошо это реализовано, как пример f.ua.
  12. Добрый день, решил переделать стандартные модули "рекомендуемые" опенкарт 2.3 в виде карусели товаров, ситуации такова. Сделал верстку, подключил slick slider. По умолчанию установил в слайдер что товаров будет 4 на ПК версии. Но тут таков вопрос, если товаров меньше 4 то слайдер не работает корректно область слайдера становится маленькой и карточку товара плющит. Если больше 4 то все гуд. вот код Вот скриншот там где рекомендуемые то это проблема а там где хит продаж, там больше 3 продуктов, там все гуд Вот
  13. Добрый день, Форумчане! Появилась надобность добавить на сайт конвертер физических величин. На просторах интернета нашёл готовый бесплатный код. Но не получается его добавить =( Добавляю через редактор, но после вставки кода (который выше), обратно закрыть редактор уже нельзя, только удалив весь код целиком. http://prntscr.com/mzx6ka Может, кто подсказать, как запустить?
  14. Всем доброго времени суток! Подскажите пожалуйста, как сделать скролл наверх при клике на страницу пагинации? есть страница категорий http://greenmarket.su/tovary При клике на след страницу экран остается на месте, а нужно чтобы он скроллился вверх. Как это можно осуществить? Код по моему вот такой: paginationChangeAction: function () { $('.custom-category .pagination a').each(function () { var href = $(this).attr('href'); $(this).attr('onclick', 'oclayerednavigationajax.filter("'+ href +'")'); $(this).attr('href', 'javascript:void(0);'); }); }
  15. Здравствуйте! Mega Filter (не работает javascript после фильтрации), если обновить страницу javascript начинает работать с примененным фильтром. Находил несколько тем с данной проблемой, но решения так и не нашел. Много решал задач, но это прям вопрос года! ) Вопрос: куда нужно вставлять javascript, чтобы после фильтрации работал javascript. Спасибо, очень буду рад решению этой проблемы :)) OcStore 2.3.0.2.3
  16. Добрый день , форумчане Появилась проблема, которую я не могу решить сам На страницу категорий добавил скрипт прокрутки, работает как часы и грузит все отлично. Проблема в том, что из-за этого скрипта перестали работать кнопки (Добавить в корзину и т.д ) Не могли бы подсказать в чем именно проблема ? Ссылка на сайт тут Скрипт $(function() { function scrollLoader() { console.log('---', 123) if ($(window).scrollTop() == $(document).height() - $(window).height()) { console.log('---', 'ok') setTimeout(function() { $('#endless').trigger('click') }, autoscroller.delay) } } var autoscroller = [] //setting autoscroller.hidePagination = 1 autoscroller.autoScroll = 0 autoscroller.catcher = '#endless' autoscroller.delay = 1000 autoscroller.loading = 0 $(window).scroll(function() { scrollLoader() if (inWindow(autoscroller.catcher) && !autoscroller.loading && autoscroller.autoScroll) { autoscroller.loading = true $('#endless .fa-refresh').addClass('btn-load-new') } }) if ($('.category-catalog').length) { if ($('.pagination').length && !$('.pagination > li:last-child').hasClass('active')) { $('#content col-12 col-md-9 order-2').hide() $('.pagination') .parent() .before( '<div class="col-xs-12 text-center"><button class="btn btn-success btn-lg" id="endless" style="margin: 15px auto; padding: 10px 120px;" ><span class="btn-load-new">Еще товары</span></i></button></div>') $('#endless').on('click', function(e) { var lastProduct = $('.pagination') .closest('.category-catalog') .find('.front-top-products li:last-child') var nextPage = $('ul.pagination li.active').next().find('a:first-child') var nextPageHref = nextPage.attr('href').substring(7) // console.log('---',nextPageHref); // console.log('---', nextPage.attr('href')); $.ajax({ url: 'https://' + nextPageHref, beforeSend: function() { $('#endless .fa-refresh').addClass('btn-load-new') }, success: function(data) { var products = $(data).find('.category-catalog .front-top-products') lastProduct.after(products) $('.pagination').html($(data).find('.pagination > *')) nextPage = $('ul.pagination li.active').next().find('a:first-child') if (nextPage.length == 0) { $('#endless').remove() } else { $('#endless .fa-refresh').removeClass('btn-load-new') } autoscroller.loading = 1 }, }) return false }) } } function inWindow(el) { if ($(el).length) { var scrollTop = $(window).scrollTop() var windowHeight = $(window).height() var offset = $(el).offset() if (scrollTop <= offset.top && ($(el).height() + offset.top) < (scrollTop + windowHeight)) { return true } } return false } })
  17. Привет. Проблема в том, что все выпадающие меню (главное вверху и несколько в футере) в мобильной версии сайта начинают работать т.е. выпадать только после прокрутки страницы на тлф. туда-сюда, или если в браузере (при эмуляции тлф.) то после некоторого перетаскивания границ экрана эмулируемого устройства (320-760px). Думаю, что-то с подгрузкой скриптов. Куда копать? Версия ocStore 2.3.0.2.2, JOURNALv.2.8.5 https://abt-professional.com/
  18. Появилась ошибка в JS при переезде на https, перестали подгружаться товары в категориях (бесконечная прокрутка). Вот что в консоли: Mixed Content: The page at 'https://abt-professional.com/magazin/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://abt-professional.com/magazin/?page=2'. This request has been blocked; the content must be served over HTTPS. send @ jquery-2.1.1.min.js?j2v=2.8.5:4 ajax @ jquery-2.1.1.min.js?j2v=2.8.5:4 n.(anonymous function) @ jquery-2.1.1.min.js?j2v=2.8.5:4 load @ jquery-ias.min.js?j2v=2.8.5:13 (anonymous) @ jquery-ias.min.js?j2v=2.8.5:13 j @ jquery-2.1.1.min.js?j2v=2.8.5:2 add @ jquery-2.1.1.min.js?j2v=2.8.5:2 c.next @ jquery-ias.min.js?j2v=2.8.5:13 scrollHandler @ jquery-ias.min.js?j2v=2.8.5:13 a @ jquery-ias.min.js?j2v=2.8.5:13 setTimeout (async) d @ jquery-ias.min.js?j2v=2.8.5:13 f @ jquery-2.1.1.min.js?j2v=2.8.5:2 dispatch @ jquery-2.1.1.min.js?j2v=2.8.5:3 r.handle @ jquery-2.1.1.min.js?j2v=2.8.5:3
  19. ocStore 1.5. Нужно внести правки в css и javascript на основании отчета W3C validator, Сократить объем кода, переместить скрипты в подвал сайта, объединить стили и т.д...сохранив логику.
  20. Добрый день! Заметил ошибки в карточке товара, что это может быть? Как можно это исправить? Подскажите пожалуйста!
  21. Простой вариант реализация гетера Для начала упаковываем все нужные данные в переменную $data['data'] = .... Дальше берем div и делаем следующее <div id="var" class="hidden" data-var="<?= base64_encode(json_encode($data)); ?>"></div> Потом пишем "проксю" на jquery let data = JSON.parse(window.atob($("#var").data('var'))); let proxy = new Proxy({}, { get(target, name) { return typeof data[name] !== undefined ? data[name] : false; } }); Используем, к примеру у нас в наборе есть токен proxy.token
  22. JS class APLazy { constructor (lazyClass) { if (typeof lazyClass === 'undefined') { this.lazyClass = 'APLazy'; } else { this.lazyClass = lazyClass; } this.lazyArray = []; } setLazy() { this.lazyArray = document.getElementsByClassName(this.lazyClass); } cleanLazy() { this.lazyArray = Array.prototype.filter.call(this.lazyArray, (l) => l.getAttribute('data-src')); } lazyLoad() { for (let element of this.lazyArray) { if (this.isInViewport(element)) { if (element.getAttribute('data-src')) { element.src = element.getAttribute('data-src'); element.removeAttribute('data-src'); } } } this.cleanLazy(); } isInViewport(element) { var rect = element.getBoundingClientRect(); return ( rect.bottom >= 0 && rect.right >= 0 && rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) ); } registerListener(event, func) { if (window.addEventListener) { window.addEventListener(event, func); } else { window.attachEvent('on' + event, func); } } } Используем JS if (typeof window.APLazy == 'undefined') { window.APLazy = new APLlazy('my-lazy-class'); window.APLazy.setLazy(); window.APLazy.lazyLoad(); window.APLazy.registerListener('scroll', function () { window.APLazy.lazyLoad(); }); window.APLazy.registerListener('resize', function () { window.APLazy.lazyLoad(); }); } else if (typeof window.APLazy == 'object' ) { window.APLazy.setLazy(); window.APLazy.lazyLoad(); } Используем HTML <img src="loader.gif" data-src="image.jpg" class="APLazy" />
  23. Все доброго дня Opencart version: 3.0.2.0 в cart.twig изменил кнопку корзины <button type="button" data-toggle="dropdown" data-loading-text="{{ text_loading }}" id="btn1" class="btn btn-lg"><div class="row"><span id="cart-total">{{ text_items }}</span></div> <div class="row"><img src="image/icons/r3.png" id="cartimg"></div>{{ text_sebet }}</button> где {{ text_sebet }} добавил значения в языках. В HomePage все правильно показывает. Но при обновлении или добавлении товара не показывает значение {{ text_sebet }} Для этого в catalog/view/javascript/common.js изменил строку где изменяет кнопку корзины $('#cart > button').html('<div class="row"><span id="cart-total"> ' + json['total'] + '</span></div><div class="row"><img src="image/icons/r3.png" id="cartimg"></div>'); Как мне добавить {{ text_sebet }} в этот js файл? Пробовал добавить php код, пробовал приравнять к var foo = '{{ text_sebet }}'; и добавить переменную foo, но или не выходит текст или ошибка кода. Спасибо заранее за помощь
  24. Уважаемые специалисты! Требуется доработать действующий магазин на Opencart 1.5.5: 1. Добавить Https протокол (SSL ключ получен) . Прописать редиректы на новую версию. 2. Добавить кроссбраузерную мобильную версию сайта, оптимизировать под стандарту. 3. Обновить установленные модули отзывов, новостей, оплаты, доставки (магазин давно не обновлялся). 4. Исправить внутренние ошибки сайта в css и javascript. Отредактировать robots.txt \ sitemap.xml 5. Настроить 301 редирект на неработающие страницы. Определить все битые бэклинки. 6. Оптимизация загрузки страниц сайта. 7. Дать рекомендации для дальнейшего развития магазина. Интересует долгосрочное сотрудничество. Ссылку на сайт предоставим в л.с. Успехов.
×

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.