Адаптация модуля HPM и HMPM под шаблоны OpenCart


Адаптация Hyper Product Models и Hyper Multi Product Models к шаблонам и модулям

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

Блок CSS и JS

В настройках модуля предусмотрен блок вставки CSS и блок вставки javascript. В зависимости от  разных ситуаций, они могут пригодится для того, чтобы вы могли стилизовать карточку товара, а также для прочей визуальной адаптации. Однако мы всё же рекомендуем внедрять эти данные непосредственно в соответствующие файлы стилизации и адаптации.

Адаптация делается под конкретный настроенный магазин с его набором модулей и настройками шаблона!

Готовая адаптация под шаблон включает в себя:

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

В понятие готовой адаптации не входит:***

  • вывод вариантов во всевозможных дополнительных модулях ("Новинки", "Рекомендуемые" и пр.) как в карточке товара, так и в категории, и на главной странице;
  • вывод вариантов в быстром просмотре;
  • смена стикеров в категории при переключении товара;
  • верстка самих вариантов выбора, их внешний вид (не подходит по цветам к теме, не влазит в отведённый в теме блок, ползут плитки товаров при выводе вариантов и т.д.)

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

Любые дополнительные доработки, касающиеся совместимости модулей, вывода вариантов во всевозможных местах и модулях, возможны только после полной боевой настройки ваших модулей и шаблона. Так как во многих темах есть куча настроек, и адаптация не означает работу модуля и смену всего подряд (при выборе вариантов) на всех возможных комбинациях настроек. Адаптация делается под конкретный настроенный магазин с его набором модулей и настройками шаблона!

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

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

Хороший разработчик справится с подобной задачей не напрягаясь.

Структура связанных товаров

Также для различного рода расширений импорта товаров в ваш магазин и для связки товаров под модуль HYPER PRODUCT MODELS или HYPER MULTI PRODUCT MODELS, может понадобится дополнительная доработка этих модулей.

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

Данные по связкам сохраняются в данной таблице Базы Данных:

CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "hpmodel_links` (
    `parent_id` int(10) NOT NULL,
    `product_id` int(10) unsigned NOT NULL,
    `sort` int(10) unsigned DEFAULT NULL,
    `image` varchar(255) NOT NULL DEFAULT '',
    `type_id` int(10) NOT NULL DEFAULT '0',
    PRIMARY KEY (`parent_id`, `product_id`),
    UNIQUE (`product_id`,`parent_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
  • parent_id - product_id основного товара (родитель)
  • product_id - ID товара
  • sort - Порядок сортировки вариантов (если не требуется, то можно записать 0)
  • image - Вариант изображения для цвета. Если надо, то можно указать изображение для квадратика цвета. (Если не требуется, то отставить пустым)
  • type_id - ID связки товаров. Можно писать 0, а потом вызвать метод контроллера модуля, чтобы сгенерировать эти данные по связкам.

Вызов метода обновления OpenCart 2:

$this->load->controller('extension/module/hpmodel/update'); 

Вызов метода обновления OpenCart 3:

$this->load->controller('extension/module/hpmodel/update'); 

Задача - заполнить эти поля в таблице, остальное модули HYPER PRODUCT MODELS и HYPER MULTI PRODUCT MODELS сделают сами. Достаточно дернуть вызов метода обновления, или зайти в модуль и в любом добавленном редакторе связок нажать кнопку применить или сохранить.

Список адаптаций

Ниже список всем известных и хорошо зарекомендовавших себя модулей, в которых уже их авторами внедрена адаптация для связки товаров к модулям Hyper Product Models и Hyper Multi Product Models

  • АОП - фильтрация по поставщикам и загрузка данных для связки от автора usergio ,
  • Диспетчер YML\XML - загрузка данных в формате YML\XML\CSV для связки от автора ambalocha69 ,
  • CSV import/export - импорт \ экспорт данных вашего магазина от автора costas,
  • Batch Editor - пакетное редактирование товаров от автора yarik.

Также список уже адаптированных сторонних модулей

  • FX Sitemap - удаление скрытых товаров с карты сайта от автора Otvet
  • MFP -
  • FilterVier_SEO -
  • ocFilter -
  • OCT - встроенный в темы фильтр
  • FilterPRO - последних версий
  • Dream Filter - фильтр последних версий начиная с версии 2.4.
  • Фильтр из темы Journal3

---