Virtuemart 3 постепенная подгрузка товара. Lazy Load - отложенная загрузка изображений для virtuemart. Вкладки “Формирование цен”, “Оформление заказа”, “Настройки сортировки”, “Feeds”, “SEO”

Добрый день. Прошу Вас писать ориентировочную стоимость и сроки выполнения задачи, если она Вам понятна. Если же есть вопросы - задавайте.
Сайт на Jomla3 + VirtuMart 3 (последние версии, если уже нет, можем обновить). Адрес сайта: он лай нсант ехни ка точка рф (без пробелов).
На сайте уже установлен CSVI 6 (компонент для загрузки данных из табличных документов). Однако с его использованием у нас есть проблемы. То пишет, что все загружено, но реально не загружает. Сейчас после переустановки компонента другие пишет ошибки - что-то с отсутствием полей у таблиц.
Есть файл xls, в котором около 43 тыс товаров. Пример формата файла: https://yadi.sk/i/khFLPdnnkWRE3 Сложность в том, что для товаров используются так называемые "настраиваемые поля". На сайте есть фильтры, они сейчас работают. То есть нужно загрузить не только товары, но и поля создать (количество доп. полей около 980, поэтому вручную создать никак). Также при создании доп. полей на сайте вручную нужно указывать их тип. Поэтому вероятно, тип нужно проставить также автоматически в файле для загрузки перед запуском собственно загрузки доп. полей на сайт (или я могу вручную - только Вы формат скажите). Использовать для этого можно или готовый компонент CSVI или через phpmyadmin. Во втором случае, вероятно, от Вас нужен скрипт, в который можно указать путь к файлу xls и получить текст запроса для запуска в phpmyadmin.
Обратите внимание, что в virtuemart товар хранится в нескольких таблицах. И картинки также нужно загружать. В xls файле хранятся в отдельной колонке пути к фотографиям.

Получается, можно разделить на подзадачи:
1) создать на сайте настраиваемые поля по названиям дополнительных колонок в файле xls.
2) загрузить товары с доп. полями, картинками, ценой.
3) предусмотреть в будущем обновление цены из файла xls (чтобы обновлялась только лишь цена при загрузке для существующих товаров).
4) есть еще такая сложность. Сейчас описание товара - это таблица с параметрами и их значениями. См внизу под фото: http://xn--80aaatpdkcrdbbe1cr3c.xn--p1ai/мебель-для-ванной/акриловая-ванна-aquanet-nord-170-см-37-detail

Так вот эта таблица сейчас вставлена просто как хтмл-код. Нужно чтобы либо она формировалась из значений заполненных доп. параметров для товара (предпочитаем этот вариант, если не оч дорого выйдет), либо скрипт сделать и хтмл-код для этой таблицы в xls-файле сгенерировать (собрать из значений параметров) и уже из ячейки загружать как описание товара.
5) убрать на сайте переворачивание изображения с товаром на главной странице при наведении (где-то отключается, думаю).
6) будет еще подзадача - по обработке текстов описаний товаров через словарь синонимов, но это в будущем - пока это не оценивайте!!

Увеличить скорость загрузки страницы можно разными способами:

  • кеширование
  • сжатие css и js файлов
  • оптимизация изображений

В этой статье подробно разберем последний пункт и покажем, каких результатов можно добиться.

При использовании lazy load (ленивой загрузки) для изображений вес страницы становится меньше, поэтому страница начинает грузиться быстрее.

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

Интегрировать lazy load в virtuemart можно 2 способами:

  • вручную, внеся некоторые правки в шаблон
  • с помощью плагина, который позволит добить lazy load для всех изображений на сайте
Добавляем lazy load вручную

Существует множество скриптов, которые можно использовать для интеграции lazy load на сайт. Я использую echo.js . Сжатая версия скрипта весит всего 2 Кб. Пример работы можно посмотреть на этой странице .

Подключим скрипт на странице категории. На других страницах, на мой взгляд, нет особого смысла использовать ленивую загрузку. Если нужно добавить lazy load для всех изображений сайта, то лучше использовать плагин LLFJ - Lazy Load for Joomla! , о котором пойдет речь в следующем разделе.

Итак, скопируем файлы скрипта в папку шаблона /templates/имя_шаблона/echo/ .

Заменим код вывода изображения в категории.

Для virtuemart 3

В файле /components/com_сайтblayouts/products.php заменим

< a title = " " href = " " >