msSalePrice

Дополнительные цены, зависящие от выбранного количества товара.
Автор дополнения
Артем Низовских
Пакетов
4
Закачек
1 618
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
4
Закачек
1 618
Обычно отвечает в течение нескольких дней
Версия 1.2.3-beta2
Дата выпуска 25.07.2019
Загрузки 344
Просмотры 12 790

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


Может работать совместно с msDiscount.


Для работы совместно с msOptionsPrice2 в плагине msSalePrice нужно включить событие msopOnAfterGetCost.


Обновление до v.1.2.0


Был полностью переписан JS фронтэнда и некоторые методы дополения.


Новая версия msSalePrice требует версию miniShop2 не ниже 2.4 !


При обновлении нужно изменить классы в карточке товара и на странице корзины.


Версия 1.2.2-beta работает с версией minishop v.2.4.13-pl и выше


Оптовые цены


На странице продукта доступна вкладка «Оптовые цены». Можно создать/изменить настройки количества/цены продукта.


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






В версии 1.2.3-beta добавлена возможность указывать оптовые цены непосредственно в модификациях товара msOptionsPrice




Сниппет msSalePrice.initialize

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

[[!msSalePrice.initialize]]


Сниппет msSalePrice

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

[[!msSalePrice]]

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


  • форма товара — mssaleprice_form
  • цена товара — mssaleprice-cost
  • старая цена товара — mssaleprice-old-cost

[[!msSalePrice.initialize]]
        <form class="form-horizontal ms2_form mssaleprice_form" method="post">
            ...
            <div class="form-group">
                <label class="col-md-2 control-label">[[%ms2_product_price]]:</label>
                <div class="col-md-10 form-control-static">
                    <span class="mssaleprice-cost"><span>[[+price]]</span></span> [[%ms2_frontend_currency]]
                    
                    <span class="old_price mssaleprice-old-cost" [[+old_price:gt=`0`:else=`style="display:none"`]]><span>[[+old_price]]</span> [[%ms2_frontend_currency]]</span>
                </div>
            </div>
            <div class="form-group form-inline">
                <label class="col-md-2 control-label" for="product_price">[[%ms2_cart_count]]:</label>
                [[!msSalePrice]]
            </div>
    ...
    </form>


Чанк корзины


<div id="msCart">
    {if !count($products)}
        {'ms2_cart_is_empty' | lexicon}
    {else}
        {foreach $products as $product}
          <tr id="{$product.key}">
          	...
                        <td class="price">
                            <span class="mssaleprice-cost"><span>{$product.price}</span> {'ms2_frontend_currency' | lexicon}</span>
                            <span class="mssaleprice-old-cost old_price" {$product.old_price ? '' : 'style="display:none"'}><span>{$product.old_price}</span> {'ms2_frontend_currency' | lexicon}</span>
                        </td>
            ...
          </tr>
        {/foreach}
    {/if}

1.2.3-beta2

  • Fixed calculate msop price

1.2.3-beta

  • Added prices for msOptionsPrice

1.2.2-beta

  • Fixed class msSalePrice
  • Added plugin for event msOnGetStatusCart, OnDocFormSave
  • Fixed plugin msOnChangeInCart
  • Fixed /web/default.js
  • Added property 'without_options' for Product

1.2.1-beta

  • Added wholesale prices for the catalog
  • Fixed class msSalePrice
  • Fixed snippet msSalePrice

1.2.0-beta2

  • Fixed plugin for event OnHandleRequest
  • Fixed /web/default.js

1.2.0-beta1

  • Fixed /web/default.js

1.2.0-beta

  • Fixed class msSalePrice
  • Completely changing the file /web/default.js
  • Fixed snippet msSalePrice
  • Fixed snippet msSalePrice.initialize
  • Added plugin for event OnHandleRequest
  • Remove processors in WEB

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