msSalePrice

Дополнительные цены, зависящие от выбранного количества товара.
Автор дополнения
Артем Низовских
Пакетов
4
Закачек
1 503
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
4
Закачек
1 503
Обычно отвечает в течение нескольких дней
Версия 1.2.3-beta2
Дата выпуска 25.07.2019
Загрузки 330
Просмотры 10 610
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !

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


Может работать совместно с 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