Jump to content
Feech

[Поддержка] Last-Modified, If-Modified-Since, 304 not modified. Для Opencart 3. Ускорение индексации поисковыми системами, экономия Трафика, снижение нагрузки на сервер,

Recommended Posts

Last-Modified, If-Modified-Since, 304 not modified. Для Opencart 3. Ускорение индексации поисковыми системами, экономия Трафика, снижение нагрузки на сервер,


Last-Modified, If-Modified-Since, 304 not modified. Для Opencart 3. Ускорение индексации поисковыми системами, экономия Трафика, снижение нагрузки на сервер,


Поддержка: OpenCart 3.x.x.x

Возможности:

  • Выводит дату последней модификации для страниц категорий, товаров и статьей и для главной страницы.
  • Можно менять вручную дату последней модификации категорий
  • Можно менять вручную дату последней модификации статей
  • Можно менять вручную дату последней модификации главной страницы

Установить:

  • Модули/Расширения -> Установка расширений. Выбрать архив с модулем и Загрузить.
  • Модули/Расширения -> выбрать установленный модуль (Last Modified ...) -> Активировать
  • Зайти в активированный модуль и установить время для главной страницы
  • Модули/Расширения -> Модификаторы. Нажать кнопку Обновить

 

Обращаем ваше внимание, что заголовок LastModified не отдаётся для WWW-доменов с включенным SSI.

Перед покупкой проверьте передает ли ваш сервер параметры $_SERVER['HTTP_IF_MODIFIED_SINCE'] или $_ENV['HTTP_IF_MODIFIED_SINCE']

* Если при установке модуля возникает ошибка "Директория не доступна для записи!" - необходимо поставить бесплатный модуль Localcopy OCMOD для Opencart 3

 

Зачем нужен Last-Modified

HTTP заголовок Last-Modified сообщает клиенту время последнего изменения страницы (объекта). Если клиент (браузер, поисковый робот) получил заголовок Last-Modified, то при следующем обращении к адресу, при условии, что страница (объект) есть в локальном кеше, он добавит вопрос If-Modified-Since(не изменилась ли страница после даты, полученной в Last-Modified). В свою очередь сервер, получив запрос If-Modified-Since должен сверить полученную временную метку с временем последнего изменения страницы и, если страница не изменялась ответить 304 Not Modified.

Экономия Трафика

Если страница не изменилась, то сервер прекратит передачу данных после отправки заголовков с кодом 304 Not Modified, тело страницы, изображения и другие объекты передаваться не будут.

Снижение нагрузки на сервер

Правильная реализация проверки времени последнего изменения страницы может значительно (до 30% и более) сократить нагрузку на сервер. Под правильной реализацией подразумевается проверка времени до начала генерации страницы на динамическом сайте. В таком случае все действия для генерации страницы (запрос контента из базы данных, парсинг шаблонов, получение комментариев и др) выполняться не будут. Особенно это актуально для сайтов с высокой посещаемостью и долгой продолжительностью визита пользователя. Пример: пользователь находится на сайте спортивных новостей и постоянно обновляет главную страницу в ожидании публикации результата матча. За несколько минут страница может быть запрошена и получена десятки раз. Если заголовок Last-Modified отдается и запрос If-Modified-Since обрабатывается правильно, то реально страница будет передана один раз, а на все последующие запросы будет выдан ответ 304 Not Modified.

Ускорение индексации поисковыми системами

Поисковые системы через руководство для вебмастеров рекомендуют отсылать заголовок Last-Modifiedи правильно обрабатывать If-Modified-Since.


  • Добавил
  • Добавлено
    19.04.2019
  • Категория
  • Системные требования
  • Сайт разработчика
  • Старая цена
    600
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • OpenCart
    3.0
  • ocStore
    3.0
  • OpenCart.Pro, ocShop
  • Обращение к серверу разработчика
    Нет

 

Share this post


Link to post
Share on other sites

Не хочет работать, SSI выключен, в ответах сервера нашел такое 

Share this post


Link to post
Share on other sites
The answer to the title if-Modified-Since, if the URI is not changed since that date. The body content is not sent, and the client must use his local copy. Ответ на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.

Share this post


Link to post
Share on other sites

Ауууууууууууууууууу............

Share this post


Link to post
Share on other sites
2 часа назад, pcx33 сказал:

Будет ответ?

 

крайний раз автор был в январе.

Все что написано в описании  50% правды

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Dotor23
      Коллеги, прошу помощи. Я начинающий разработчик на OpenCart.
      Суть такова. Использую кастомный модуль для быстрого оформления заказа, и пытаюсь его еще кастомизировать.
      Нужно блок, выделенный красным, вынести из блока моя корзина, и вставить его между блоками вкладки и моя корзина (чтобы при переходе по всем вкладкам он отображался как на 2-скриншоте).
      Так как я начинающий разработчик, то и знания PHP у меня посредственные, не могу найти в контроллере то, что нужно, чтобы перенести в другой контроллер. Буду признателен, если укажете, какую строчку перенести (файлы прилагаю, и twig, и php)
      Нужные данные находятся в файле cart.php. В файле cart.twig нашел нужную строчку и перенес в d_quickcheckout.twig.
      Буду, крайне благодарен за помощь.


      cart.twig d_quickcheckout.twig cart.php d_quickcheckout.php
    • By markimax
      1 490.00 руб
      Скачать/Купить дополнение


      Jet Cache - кеширование, pagespeed, оптимизация для магазинов

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 10`000 интернет магазинов выбрали для работы
      JET CACHE - быстрая система кеширования страниц, контроллеров и методов моделей opencart
      Pagespeed оптимизация
      Возможности
       
      - оптимизация под Google pagespeed (минификация, перенос скриптов css и js)
        - кеширует полностью страницы при полной интеграции с opencart (позволяет кешировать и для зарегистрированных пользователей и изменений корзины а также в зависимости от изменений в модулях)  
      - кеширует выбранные контроллеры (т е фактически  любые модули, будь то меню или т.п. а также полностью кеширует позиции (уникальная технология которая не реализовано ни в одном модуле кеширования для opencart) (с))  
      - подгрузка ajax любых контроллеров   - кеширует методы моделей opencart (подсчет количества товаров и т п )   - кеширование запросов   - конвертер изображений в формат WEBP  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart (технология полной интеграции с opencart, в отличии от всех кешировщиков которые сделаны по технологии v2pagecache, которые не интегрированы в opencart)  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart (любой версии) или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше
      Для конвертирования и сжатия изображений в формат webp необходима стандартная функция php proc_open или exec Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 1.5.x,  2.x, 3.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 1.5.x, 2.x, 3.x  
      Установка, настройка
       
      1. Скачать с сайта где вы купили модуль, последнюю версию модуля.
      2. Установите модуль через штатный установщик дополнений opencart "Установка дополнений" или скопируйте (через FTP) файлы из архива (содержимое папки upload) в корневую папку сайта (там где index.php). (если вы копируете первый раз, система не должна запрашивать файлы на перезапись, так как модуль не перезаписывает никаких системных файлов opencart и ocStore). При обновлении перепишите файлы поверх. Если у вас пользовательская тема (не default)- ни в коем случае не переписывать файлы шаблонов модуля (из архива) к себе в тему.
      3. Если ваша версия opencart ниже чем 2.1 удалите по FTP папку (НЕ файл module.php, а именно папку) module в /admin/controller/extension/ (т. е. удалите папку /admin/controller/extension/module), так как вы не сможете зайти в меню Модули (Дополнения).
      4. Установите права доступа в /admin/index.php?route=user/user_permission&token=... (не забываем про вашу токен сессию &token=ваша сессия) для Главного администратора нажав на ссылку "изменить"
      5. Выделите "Разрешен просмотр" и "Разрешено внесение изменений" файлов модуля (если вы не знаете какие - нажмите ссылку "выделить всё") и нажмите кнопку "Сохранить"
      6. Зайдите в административную часть сайта /admin/index.php?route=extension/module и установите модуль, нажав на ссылку "установить"
      7. Зайти в главную модуля админ. части admin/index.php?route=jetcache/jetcache
      8. На главной модуля Jet Cache нажмите на таб "Установка и обновление"
      9. Нажмите на оранжевую кнопку "Установка и обновление модификаторов, данных модуля, выполняется при установке и обновлении модуля)".
      Установятся модификаторы модуля.
      10. Процедура установки закончена.  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее... Добавил markimax Добавлено 15.03.2017 Категория Кэширование, сжатие, ускорение Системные требования PHP 5.4+ (для конвертирования и сжатия изображений в формат webp необходима стандартная функция php proc_open или exec) Метод активации Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет Старая цена 590  
    • By markimax
      Логин / пароль:
      demo / demo
       
      Документация  
      Более 10`000 интернет магазинов выбрали для работы
      JET CACHE - быстрая система кеширования страниц, контроллеров и методов моделей opencart
      Pagespeed оптимизация
      Возможности
       
      - оптимизация под Google pagespeed (минификация, перенос скриптов css и js)
        - кеширует полностью страницы при полной интеграции с opencart (позволяет кешировать и для зарегистрированных пользователей и изменений корзины а также в зависимости от изменений в модулях)  
      - кеширует выбранные контроллеры (т е фактически  любые модули, будь то меню или т.п. а также полностью кеширует позиции (уникальная технология которая не реализовано ни в одном модуле кеширования для opencart) (с))  
      - подгрузка ajax любых контроллеров   - кеширует методы моделей opencart (подсчет количества товаров и т п )   - кеширование запросов   - конвертер изображений в формат WEBP  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart (технология полной интеграции с opencart, в отличии от всех кешировщиков которые сделаны по технологии v2pagecache, которые не интегрированы в opencart)  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart (любой версии) или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше
      Для конвертирования и сжатия изображений в формат webp необходима стандартная функция php proc_open или exec Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 1.5.x,  2.x, 3.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 1.5.x, 2.x, 3.x  
      Установка, настройка
       
      1. Скачать с сайта где вы купили модуль, последнюю версию модуля.
      2. Установите модуль через штатный установщик дополнений opencart "Установка дополнений" или скопируйте (через FTP) файлы из архива (содержимое папки upload) в корневую папку сайта (там где index.php). (если вы копируете первый раз, система не должна запрашивать файлы на перезапись, так как модуль не перезаписывает никаких системных файлов opencart и ocStore). При обновлении перепишите файлы поверх. Если у вас пользовательская тема (не default)- ни в коем случае не переписывать файлы шаблонов модуля (из архива) к себе в тему.
      3. Если ваша версия opencart ниже чем 2.1 удалите по FTP папку (НЕ файл module.php, а именно папку) module в /admin/controller/extension/ (т. е. удалите папку /admin/controller/extension/module), так как вы не сможете зайти в меню Модули (Дополнения).
      4. Установите права доступа в /admin/index.php?route=user/user_permission&token=... (не забываем про вашу токен сессию &token=ваша сессия) для Главного администратора нажав на ссылку "изменить"
      5. Выделите "Разрешен просмотр" и "Разрешено внесение изменений" файлов модуля (если вы не знаете какие - нажмите ссылку "выделить всё") и нажмите кнопку "Сохранить"
      6. Зайдите в административную часть сайта /admin/index.php?route=extension/module и установите модуль, нажав на ссылку "установить"
      7. Зайти в главную модуля админ. части admin/index.php?route=jetcache/jetcache
      8. На главной модуля Jet Cache нажмите на таб "Установка и обновление"
      9. Нажмите на оранжевую кнопку "Установка и обновление модификаторов, данных модуля, выполняется при установке и обновлении модуля)".
      Установятся модификаторы модуля.
      10. Процедура установки закончена.  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее...
    • By Blackseabreathe
      Opencart 3.0.3.3, default theme
       
      Привет всем.
      Стояла задача сделать простой магазин. Но какой магазин без ajax подгрузки товаров в аля 2К20, а?
      Сам я не то чтобы был полный ноль в js, нет, что-то в целом понимаю. Однако, сначала я искал готовые бесплатные плагины, но на мою версию опенкарт в общей сумме плагинов как кот наплакал, а для ajax подгрузки товаров их вообще 2, и то, один из них триальной версии на 3 дня потом плати монету. Пытался установить от shopunity ajax free filter, но мне не зашел, хотя бы на том, что там уродский вывод пунктов фильтров если выбираешь выводить как select. Ну и в целом плагин имеет много моментов, мне непонравившихся. Мне всё  это не подходило и я решил сделать сам.
      Конечно, я хотел сделать это быстрее, поэтому искав в интете все по запросу ajax фильтрация товаров OpenCart 3, я может что-то и находил полезное, но этого было недостаточно. Однако одну функцию я все таки спер оттуда, так как свою писать было лень, да и зачем второй велосипед нужен?! Чтобы никто не писал потом что "эту функцию ты стырил оттуда-то".
       
      Скрипт на jquery, если кто-то может переписать на ванила js, будет хорошо, Ну или если кто-то сможет заменить .load на $.ajax было бы удобней, но да ладно, перейдем к сути. Строго не судите, я не гуру jq, если есть что подправить, напишите это в комментах без грязи. Делюсь своим способом ajax фильтрации товаров opencart3 и ajax сортировка
       
       
      <!--ajax фильтрация ++--> 0. Сначала я бы предложил для фильтров поставить плагин fixfilter opecart3x чтобы изменить логику фильтрации or/and. (Но не обязательно)
      1. в category.twig (catalog/view/theme/default/template/product/category.twig) делаем обертку для вывода товаров <div id="pp" class="products_products">...тут уже цикл с выводом товаров..</div> //обернули 2. Тут же в селекте #input-sort убрать метод "onchange location = this", он нам уже не нужен 3. в category.php (catalog/controller/product/category.php) найти способы сортировки, например сортировка по умолчанию $data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', //'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) //копируем строку и комментируем ее на всякий случай 'href' => '&sort=p.sort_order&order=ASC',// вставляем ее ниже и изменяем на такой вид ); Тоже самое проделать со всеми другими способами сортировки, которые нужны. Мне нужны были только по цене вверх, вниз и по умолчанию; и то "по умолчанию" всегда переименовываю в "рекомендуем". 4. Идем в filter.twig (catalog/view/theme/default/template/extension/module/filter.twig) Тут уже кому как надо, а у меня стояла задача сделать вместо чекбоксов select. Собственно я изменил вывод фильтра на: <div class="the_filters df aj"> {% for filter_group in filter_groups %} <div id="filter-group{{ filter_group.filter_group_id }}" class="filtr_group"> <select name="filter[]" id="filters{{filter_group.filter_group_id}}" class="ajax_select"> <option value="{{ filter_group.name }}" disabled selected>{{ filter_group.name }}</option> {% for filter in filter_group.filter %} {% if filter.filter_id in filter_category %} <option value="{{ filter.filter_id }}" selected>{{ filter.name }}</option> {% else %} <option value="{{ filter.filter_id }}">{{ filter.name }}</option> {% endif %} {% endfor %} </select> </div> {% endfor %} <div class="part filtr_group"><button type="button" id="reset_filter">Сбросить</button></div></div> Тут должно быть все понятно, тупо из чекбокс переделал в селект, который потом подхватывает плагин select2. Кстати, рекомендую его для кастомизации селектов. Это все что будет в этом файле из разметки. Ниже будут скрипты: <script type="text/javascript"> $(document).on('change', '.filtr_group .ajax_select',function(){//обновление без кнопки "применить", если успели заметить что в разметке кнокпку убрал filter = []; //создаем резервуар для фильтров $('.filtr_group .ajax_select').each(function(element) { // каждый выбранный фильтр filter.push($(this).val()); //записываем в резервуар }); $('#pp').css('opacity', '0.3'); // самый простой способ дать уровень прозрачности блоку с товарами $('#pp').prepend('<div class="loading"><?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background-image: none; display: block; shape-rendering: auto; background-position: initial initial; background-repeat: initial initial;" width="100px" height="100px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" r="0" fill="none" stroke="#3e6d8d" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="-0.5s"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="-0.5s"></animate></circle><circle cx="50" cy="50" r="0" fill="none" stroke="#4b9bbe" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline"></animate></circle></svg></div>'); // для интуитивности делаем прелоудер href = '{{action}}&filter='+filter.join(','); //тут мы берем текущую ссыль, которая конфигурируется в category.php и добавляем к ней фильтры с разделением div = $(document).find('#pp'); //куда будем загружать новые товары $(div).load(href+'#pp .product-layout', {limit: 16}, //загружаем методом jq load с лимитом 16, у кого отличается в админке кол-во вывода товаров на фронте, то изменить здесь function (responseText, textStatus, xhr) { if (textStatus == "error") { //если ошибка, то выводим текст ошибки, но я немного сделал по-своему var cn = $('header nav li a.current_page').text(); //находим название категории (но по факту текст в теге <a></a> с классом current_page) var cn_href = $('header nav li a.current_page').attr('href'); //далее берем у нее ссыль $.jGrowl('Упс, что-то пошло не так, пробуем вернуть Вас в главную категорию ' + '"'+cn+'"'); // ну и выводим соответственно текст ошибки и setTimeout(function(){window.location.replace(cn_href);}, 5000); //возвращаем покупателя главную той категории, в которой он был, но можно только вывести текст ошибки, тут уже кому как } if($('#pp .product-layout').length <= 0) { // если нет товаров по выбранной нами фильтрации, то $('#pp').text('Нет товаров, которые соответствуют критериям поиска'); //вывести этот текст } if (textStatus == "success") { // ну а если ответ успешный, то $('#pp').css('opacity', '1'); // убираем непрозрачность у блока с товарами $(document).find('.loading').remove(); //убираем прелоудер } }); setLocation(href); // адресную строку меняем в соответствие с выбранными фильтрами (функция будем ниже) return false; }); //ajax сортировка $(document).on('change', '#product_category #input-sort', function(){ //при изменении селекта сортировки + я изменил id #product-category на #product_category, а то через тире выделять неудобно filter = []; // создали резервуар фильтров $('.filtr_group .ajax_select').each(function(element) { filter.push($(this).val()); // в резервуар записали фильтры }); $('#pp').css('opacity', '0.3'); // непрозрачность установили $('#pp').prepend('<div class="loading"><?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background-image: none; display: block; shape-rendering: auto; background-position: initial initial; background-repeat: initial initial;" width="100px" height="100px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" r="0" fill="none" stroke="#3e6d8d" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="-0.5s"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="-0.5s"></animate></circle><circle cx="50" cy="50" r="0" fill="none" stroke="#4b9bbe" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline"></animate></circle></svg></div>'); //прелоудер показали var sortBy = $(this).val(); // находим значение выбранного option в сортировке, то чей вывод мы изменяли в (контроллере) category.php var action = $('header nav li a.current_page').attr('href'); // берем адрес главной категории, в который находимся, так как {{action}} тут работать уже не так будет как надо// ну или найти адрес другим методом js/jq var url = action+sortBy+'&filter='+filter.join(','); // собираем в переменную куски - адрес главной категории + значение выбранной сортировки + фильтры, если есть //alert(url); // на момент тестов отслеживал какой адрес в итоге получается $(document).find('#pp').load(url+'#pp .product-layout', {limit: 16}, // опять загружаем с лимитом 16 function (responseText, textStatus, xhr) {//если ошибка, отдаем текст if (textStatus == "error") { $.jGrowl('Произошла ошибка'); } if($('#pp .product-layout').length <= 0) { // если нечего загружать, сообщаем $('#pp').text('Нет товаров, которые соответствуют критериям поиска'); } if (textStatus == "success") { // если все у всех ок, то $('#pp').css('opacity', '1'); // снимаеи непрозрачность $(document).find('.loading').remove(); // убираем прелоудер $.jGrowl('Успешная сортировка');//отдаем сообщение, тоже на момент тестов } }); setLocation(url); // записываем в адрес строку получившийся адрес return false; }); //ajax адрес в адресную строку function setLocation(curLoc){ try { history.pushState(null, null, curLoc); return; } catch(e) {} location.hash = '#' + curLoc; } /// тут тоже должно быть все ясно как ясный день </script>  
      Дальше хочу сделать ajax пагинацию и написать скрипт сброса фильтров, наверное позже дополню в тему
       
       
    • By sitecreator
      3 300.00 руб
      Скачать/Купить дополнение


      Hi-Optimizer for Opencart - интеллектуальный оптимизатор сайта для повышения скорости загрузки страниц и оценки pagespeed google
      Максимальное ускорение вашего сайта. Бесплатная настройка от автора.
      Бесплатное тестирование до 7 дней при получении тестового ключа по договоренности с автором.
      При этом (для теста) автор также бесплатно может установить и настроить модуль Hi-Optimizer.
       
      Совместим с opencart 1.5, 2.*.*, 3.0.*
      Совместим с opencart (ocstore) 1.5 также.

      Позволяет оптимизировать с целью максимального увеличения скорости загрузки страниц:
      стили (CSS) скрипты (JavaScript) объединение, минификация CSS и т.п. откладывание выполнения JavaScript с малым приоритетом возможность асинхронной загрузки как определенных CSS, так и JavaScript оптимизация всевозможных метрик (Яндекс и др.), аналитик (Гугл, Фейсбук и др.)[с определенной осторожностью и по желанию, не является обязательным] оптимизация всевозможных виджетов (Яндекс, Фейсбук, В Контакте и др. ) виджеты могут загружаться при попадении их в зону просмотра (lazy load для виджетов) оптимизация всевозможных чатов (Jivosite, Яндекс и т.д) оптимизация карт Гугла и Яндекса (загружаются при попадении в зону видимости - lazy load для карт), и др. карт оптимизация загрузки фреймов (iframe) оптимизация видео-вставок Ютюб, youtube.com оптимизация загрузки и отображения шрифтов, причем, как из внешних источников, так и из CSS, загружаемых с вашего сайта отслеживание дублей CSS, JS и, соответственно, предотвращение их повторной загрузки оптимизация загрузки всевозможных Lightbox (magnific-popup, colorbox, fancybox) Основную работу по оптимизации модуль Hi-Optimizer способен выполнить самостоятельно в автоматическом режиме. Также можно в ручном режиме помечать любые скрипты, которым имеет смысл назначить низкий приоритет загрузки и выполнения. Такие скрипты будут выполняться только после загрузки страницы и ее важных компонентов.

      Есть несколько автоматических режимов оптимизации JavaScript , начиная с режима банального группирования скриптов в конце HTML, а также есть несколько режимов продвинутой оптимизации JavaScript. Модуль Hi-Optimizer использует продвинутые современные технологии распараллеливания загрузки скриптов и одновременного выполнения построения страницы, используются где необходимо асинхронная загрузка скриптов, отложенная загрузкаи и комбинация этих способов с синхронной загрузкой и выполнением.

      В модуле есть встроенный анализатор исходного кода страниц, который позволяет в ручном режиме визуально находить участки кода, которые требуют оптимизации. Такой анализатор непрерывно развивается и служит большим подспорьем для нахождения проблемных мест в коде HTML.

      За счет использовния модуля Hi-Optimizer будут выполнены максимально насколько возможно рекомендации Гугла (https://developers.google.com/speed/pagespeed/insights/). Это способствует существенному поднятию оценки Гугла и реальному ускорению.

      В настоящее время модуль Hi-Optimizer работает на самых разных сайтах ( примерное количество: 50+) на движке Opencart (OcStore) версий 1.5, 2.*, 3.0
       
      Модуль Hi-Optimizer не занимается кешированием медленно работающих скриптов php на вашем сервере (хостинге).
       
      Оптимизирует практически все, что загружается, работает и "крутится" в браузере пользователя. Особый упор сделан на оптимизацию работы программ (скриптов JS) на смартфонах.  Всевозможные минификации в данном случае играют лишь слабую второстепенную роль в оптимизации. Так, например, оптимизация загрузки и отображения  различных шрифтов  вносит гораздо более весомый вклад чем пресловутая минификация HTML или CSS.
      С учетом того, что на любом хостинге используется сжатие gzip для HTML, CSS, JS, то минификация играет крайне слабую роль в оптимизации, а гугл очень слабо оценивает минификацию (если вообще оценивает).
       
      Т.е. сейчас для оценки скорости загрузки страницы важны совсем другие факторы нежели минификация HTML. Поэтому в данном модуле вы не увидите минификацию HTML (по сути это бесполезная функция). Гораздо важнее скорость анализа CSS, выполнения JS и собственно рендеринг страницы.
       
      Если большой вес изображений, то будет также полезна оптимизация изображений (как их веса, таки и загрузки - lazy load).
       
       
       
      Демо-сайт:
       
      https://hi-optimizer.sitecreator.pro
       
      админка (переходить строго по ссылке, доступ к другим настройкам в админке запрещен):
      https://hi-optimizer.sitecreator.pro/admin/index.php?route=extension/module/hi_optimizer
      hioptimizer
      hioptimizer
       
       
      Оценка сайта гуглом
      https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fhi-optimizer.sitecreator.pro%2F
       

       

       
       

       
       
      Часть список из нескольких десятков сайтов, на которых работает Hi-Optimizer:
       
       
       
      Можно по комментарию в исходном коде HTML увидеть, что работает Hi-Optimizer, а также получить дополнительную информацию (такую как потраченное время на оптимизацию страницы).
       
       

       
       
       
      Добавил sitecreator Добавлено 10.04.2020 Категория Кэширование, сжатие, ускорение Системные требования php 5.6 - 7.4, Ioncube Loader версии не ниже 10+ Метод активации По запросу в ЛС
      По запросу на почту Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет Старая цена 0  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.