Быстро создавайте уникальные наборы товаров по свойствам

ProductBundle for Shopaholic - October CMS

Быстро создавайте уникальные наборы товаров по свойствам
Автор: Семен Кузнецов
15 USD
15 $
Купить

Применение

Плагин будет полезен для SEO продвижения. Вы можете создавать уникальные наборы товаров со своим собственным url и метатегами. В отличие от аналогов не требует ручной привязки. Вам только необходимо активировать нужные фильтры. Плагин сам сформирует набор товаров.

Для работы плагина требуется плагин FilterForShopaholic.

Дополнительные возможности. Поддержка фильтра по поисковой строке. Для этого требуется плагин SearchForShopaholic.

Получение связок товаров

Создайте свойства и наборы свойств для шопоголика в разделе "Настройки". Привяжите наборы свойств к категориям товаров. Создайте связки товаров.

Свойства в настройках бандла отобразиться сразу после его создания.

BundleList component

1. Получение по ID категории товаров

{% set bundles = BundleList.getByCategory(1) %}

Вы получите все связки привязанные к указанной категории.

2. Получение по ID связки

{% set bundle = BundleList.getByID(1) %}

Вы получите 1 связку товаров по ее идентификатору.

BundlePage component

2. Получение по слагу

{% set bundle = BundlePage.get() %}

Bundle model

Свойства модели Bundle.

СвойствоТип
idPrimary Key
slugstring 255
namestring 255
titlestring 568
meta_titlestring 255
meta_descriptionstring 568
is_activeboolean
categoryRelation (BelongsTo) Lovata\Shopaholic\Models\Category
min_priceinteger
max_priceinteger
search_stringstring 255
product_property_listjson => array
offer_property_listjson => array

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

Список методов Bundle модели

МетодОписание
bundle->getProducts()
Получить продукты из связки
bundle->makeGetQuery()
Сгенерировать GET запрос из параметров фильтра

Метод makeGetQuery() может быть полезен для установки значений в асинхронных фильтрах. Например при использовании различный FrontEnd фреймворках

Пример использования

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

Отрисовка списка доступных связок товаров

{# Получение страницы категории шопоголика #}    
{% set category = CategoryPage.get() %}

{# Получение бандлов привязанных к категории #}
{% set bundles = BundleList.getByCategory(category.id) %}

{# Вывод списка бандлов #}
{% for bundle in bundles %}
    {{ bundle.name }}
{% endfor %}

Отрисовка товаров из связки товаров

{# Получение бандла по слагу (страница бандла) #}
{% set bundle = BundlePage.get() %}

{# Отрисовка списка продуктов #}
{% for product in bundle.getProducts() %}
    {{ product.name }}
{% endfor %}

Версии

История версий и анонс дополнений. Оставьте свои отзыв во вкладке поддержка. Все интересные идеи будут рассмотрены и по возможности реализованы.

Версия 1.0.2

Первый релиз.

Версия 1.0.3

Добавлена колонка properties (jsonable). Теперь вы можете расширять форму контроллера без необходимости расширять модель и создавать миграцию.

Версия 1.0.4

Поле категория теперь обязательно. Улучшен код.

Отправить запрос

Принимаем баг-репорты. Вы можете отправить нам запрос на получение помощи или предложение по улучшению функционала. Все сообщения обрабатываются в течении 24 часов.