Skip to content
msPriceTiers
msPriceTiers
Оптовые цены по количеству для MiniShop3 — пороги на товаре и категории, шаблоны, корзина, ms3Variants
  1. Компоненты
  2. msPriceTiers
  3. Интеграция на сайте
  4. Подключение на сайте

Подключение на сайте

После msPriceTiers.initialize на странице доступны стили, скрипт и объект window.msPriceTiers.

Обязательная разметка

ЭлементКласс / атрибутНазначение
Форма товараmspricetiers-formКонтейнер для пересчёта цены
Поле количестваmspricetiers-quantityСлушатель input / change
Таблицаmspricetiers-table-wrapperОбёртка из чанка
Строка порогаmspricetiers-rowdata-count-from, data-price
Текущая ценаmspricetiers-costОбновляется из JS (опционально в теме)
Старая ценаmspricetiers-old-costЗачёркнутая цена

Пример формы — Быстрый старт.

Жизненный цикл на карточке

JavaScript API

fetchPrice(productId, quantity, variantId)

javascript
const result = await msPriceTiers.fetchPrice(123, 10, 5);
// result.price, result.old_price, result.has_tier, result.tier_id
ПараметрТипОписание
productIdnumberID товара
quantitynumberКоличество
variantIdnumber | nullID варианта ms3Variants

Запрос: POST на assets/components/mspricetiers/js/web/connector.php, action=price. Подробнее: AJAX API.

Событие ms3variants:selected

При включённой интеграции с ms3Variants скрипт сам пересчитывает цену после выбора варианта. Вручную:

javascript
document.addEventListener('ms3variants:selected', (event) => {
  const { productId, id, price } = event.detail;
  msPriceTiers.fetchPrice(productId, msPriceTiers.getQuantity(), id);
});

CSS-переменные

Компонент стилизуется через переменные --mspt-* на обёртке .mspricetiers-table-wrapper (или :root).

ГруппаПримеры
Цвета--mspt-primary-color, --mspt-success-color, --mspt-border-color
Типографика--mspt-font-size-price, --mspt-font-weight-bold
Таблица--mspt-table-row-active-bg, --mspt-table-row-active-border
Прогресс--mspt-progress-fill, --mspt-progress-height

Пример тёмной темы

css
[data-theme="dark"] .mspricetiers-table-wrapper {
  --mspt-primary-color: #64b5f6;
  --mspt-bg-header: #303030;
  --mspt-text-primary: #ffffff;
  --mspt-border-color: #424242;
}

Поддерживается prefers-color-scheme: dark в базовом CSS.

Конфигурация в браузере

window.msPriceTiersConfig (из сниппета initialize) содержит URL connector, флаги applyOnProductPage, integrateMs3variants, строки лексикона для JS.

См. также