Module Комбинации товаров

Lowrens

Moderator
Команда форума
Verified
Модуль позволяет связать два альтернативные товара (красные и зеленые кроссовки, например), указать для каждого миниатюрное изображение или текстовое описание с выводом на карточку товара.

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

Данное решение очень универсально, поскольку не затрагивает стандартный функционал системы. То есть вы сможете легко импортировать и экспортировать такие товары с помощью стандартного модуля, экспортировать в XML/YML для различных сервисов и прайс-агрегаторов, а также сможете настроить синхронизацию с вашей системой управления склада, к примеру 1С.

Принцы работы:
  • После установки модуля в карточках товаров появится вкладка “Комбинации товаров”.
  • В этой вкладке можно будет указать миниатюру (или текстовое обозначение) для текущего товара и указать, является он главным или альтернативным.
  • Можно выбрать другие товары, связанные с данным товаром.
  • После настроек в администраторской части и добавления специального кода в ваш шаблон карточки товара, на каждом из связанных товаров появится возможность выбрать комбинацию.
Инструкция
Как управлять модулем с панели администрирвания

Установка модуля
- Скачать модуль
- Разархивировать и скопировать в project-name.loc\application\modules
- В панели администрирования Модули -> Все модули, вкладка “Установить модули”, устанавливаем модуль related_products.

Вывод модуля в шаблоне
- Для шаблонов multishop, unishop в product_intro.tpl, для других шаблонов в product.tpl копируем код который представлен ниже, сразу после вариантов товаров или в удобном для Вас месте

PHP:
{foreach $related_products as $item}
    {$loc_color = $item->customFields["color"]["field_data"];}
    <a href="{shop_url('product/'.$item->getUrl())}" title="{echo $item->getName()}">
      {if $loc_color}
        {$loc_colors = explode('|', $loc_color)}
        <div>
          {foreach $loc_colors as $color}
              {$width = (100 / count($loc_colors)) . "%"}
              <i style="background-color: {$color}; width: {$width};">{echo $item->getName()}</i>
          {/foreach}
        </div>
      {else:}
        <img src="{echo $item->firstVariant->getSmallPhoto()}" alt="{echo $item->getName()}">
      {/if}
    </a>
{/foreach}

 
Сверху