new

msSalePrice

Дополнительные цены, зависящие от выбранного количества товара.
Автор дополнения
Артем Низовских
Пакетов
5
Закачек
81
Автор дополнения
Пакетов
5
Закачек
81
Версия 1.2.0-beta2
Дата выпуска 15.11.2017
Загрузки 69
Просмотры 1 232
Внимание, этот компонент требует версию PHP 5.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !

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


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


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


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


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


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


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


Оптовые цены


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


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






Сниппет 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>

Для изменения цены в чанке корзины добавить вызов сниппета msSalePrice.initalize


<div id="msCart">
    {if !count($products)}
        {'ms2_cart_is_empty' | lexicon}
    {else}
        {$_modx->runSnippet('!msSalePrice.initialize')}
        {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.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