msOptionSeller

Опция «Магазин» для miniShop2 по аналогии с «Производитель»
Автор дополнения
Илья Уткин
Пакетов
15
Закачек
10 676
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
15
Закачек
10 676
Обычно отвечает в течение нескольких дней
Версия 1.1.2-beta
Дата выпуска 30.05.2018
Загрузки 2
Просмотры 1 673
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Дополнение добавляет новую опцию у товаров miniShop2 — «Магазин» (seller), функционал которой повторяет опцию «Производитель» (vendor), но не пересекается с ней:


Список магазинов доступен в новой вкладке настроек miniShop2:


Опция добавляется как новый столбец в таблице msProductData в виде плагина miniShop2. Поэтому вы можете использовать mFilter2 для фильтрации, не беспокоясь о скорости.

Чтобы вывести название магазина в списке товаров или, например, в корзине, используйте leftJoin:
[[!msCart?
    &loadModels=`msoptionseller`
    &leftJoin=`{
        "Seller":{"class":"msSeller","on":"Data.seller = Seller.id"}
    }`
    &select=`{
        "Seller":"Seller.name as seller_name,
                  Seller.resource as seller_resource,
                  Seller.country as seller_country,
                  Seller.logo as seller_logo,
                  Seller.address as seller_address,
                  Seller.phone as seller_phone,
                  Seller.fax as seller_fax,
                  Seller.email as seller_email,
                  Seller.description as seller_description"
    }`
]]

В таком варианте название магазина в чанке можно вывести так:
{if $product.seller?}
    <div class="small">
        {$product['seller_name']}
    </div>
{/if}

В комплекте поставляется сниппет msoSellerName, который выводит название магазина по его ID. Сниппет можно использовать там, где не получается указать параметр leftJoin:
{if $product.seller?}
    <div class="small">
        {$product.seller | msoSellerName}
    </div>
{/if}

Чанк tpl.mFilter2.filter.seller можно использовать в качестве шаблона фильтра в mFilter2:
{'!mFilter2' | snippet : [
  ...
  'filters' => 'ms|seller',
  'aliases' => 'ms|seller==seller',
  'tplFilter.row.seller' => 'tpl.mFilter2.filter.seller',
]}

1.1.2-beta

  • Fix error when creating product

1.1.1-beta

  • Add loading lexicon on MODXInit

1.1.0-beta

  • Added mFilter2 tpl

1.0.1-beta

  • Initial release

Последние обсуждения в сообществе MODX.pro