IPrice minimart - руководство пользователя

Использование формул


Для расчета цены и веса позиции IPrice minimart позволяет использовать формулу. Формулы для вычисления веса и цены позиции задаются при редактировании раздела или категории. Если у раздела заданы формулы, то цена или вес всех позиций раздела будет считаться по формуле. В каждой категории данного раздела формулы могут быть переопределены.
В формуле могут участвовать некоторые системные поля позиции и любые пользовательские поля. Можно использовать следующие операции: +,-,*,/, а так же скобки. Следует использовать системные наименования полей, заключенные в одинарные кавычки. Для отделения десятичных знаков в числах нужно использовать точку.

Системные поля позиции, разрешенные для использования в формуле:
  • price - цена позиции
  • qty - количество, выбранное пользователем
  • weight - вес позиции
  • dropdown - добавочная цена, которая определяется выбранным значением главного свойства позиции

Для позиций "Доставка и прочее" можно использовать в формуле следующие переменные:

  • totalorderamount - общая сумма заказа (стоимость всех выбранных товаров)
  • totalorderweight - общий вес заказа (итоговый вес выбранных товаров)

Рассмотрим использование формулы на примере. Допустим у нас есть базовая цена изделия price. Пользователь должен ввести длину изделия, чтобы вычислить цену изделия. Цена изделия вычисляется как длина*(базовая цена - цена вспомогательных составляющих) + цена вспомогательных составляющих. Для использования такой формулы мы должны добавить поле товара "цена вспомогательных составляющих" - price_vspom. Так как это поле не должен видеть пользователь, убираем его с публикации в прайс-листе, заказе и корзине. Заполняем это поле в админ. панели в редактировании позиции. Добавляем поле "Длина" - p_length, разрешаем ввод пользователя в это поле, чтобы пользователь мог вводить значение в это поле в прайс-листе.
Таким образом формула для расчета цены изделия будет выглядеть следующим образом:

'p_length'*('price'-'price_vspom')+'price_vspom'

Прописываем эту формулу в параметр "Формула цены". Теперь, если пользователь задаст в прайс-листе длину для позиции, будет автоматически рассчитана цена позиции.

В формуле можно использовать выражение условия: (выражение1 ? значение1 : значение2)
Выражение1 - это любое логическое выражение, которое примет значение "истина" или "ложь". Значение1 - значение этого выражения, если выражение1 - истинно. Значение2 - значение этого выражения, если выражение1 - ложно.
Например, с помощью этого выражения можно реализовать ступенчатую скидку, которая будет зависеть от количества выбранного товара. Вот пример формулы, реализующий такую ступенчатую скидку:

('qty'>=100 ? 120.2 : ('qty'>=50 ? 150.5 : ('qty'>=10 ? 170 : 200)))

Формула означает, что, если пользователь выбрал количество больше или равное 100, цена товара будет 120, иначе, если выбрано количество больше или равное 50, то цена - 150, если кол-во больше или равно 10, то цена - 170, если количество меньше 10, то цена 200.

Если вы используете поле "Главное свойство" для товара со списком опций товара, влияющих на цену, то цена товара вычисляется по следующим правилам:

- Если вы не используете формулу, то цена товара изменяется автоматически при выборе пользователем значения главного свойства товара в прайс-листе (к основной цене товара прибавляется добавочная цена опции товара).
- Если вы используете формулу, то должны в формуле напрямую прописать, как будет использоваться главное свойство при вычислении цены товара. Например, формула, приведенная в примере выше, при использовании поля "Главное свойство" будет выглядеть так:

'p_length'*('price'-'price_vspom')+'price_vspom'+'dropdown'

Что означает, что к вычисленной по заданным нами правилам цене будет прибавлена добавочная цена выбранной пользователем опции поля "Свойство". Более подробно о поле "Главное свойство" (dropdown) со списком опций товара читайте в статье "Тоавры" в главе "Харакетристики"

Пример

Рассмотрим пример использования формул при вычислении цены и веса труб (пример на демо-сайте).
Пользователь при выборе труб задает необходимый диаметр/ширину стенки, а так же длину трубы, далее задает необходимое кол-во труб.
Вес трубы вычисляется по формуле: "вес 1 метра трубы с определенным диаметром/толщиной" * "Длину трубы".
Цена трубы вычисляется по формуле: "вес трубы" * "цену 1 килограмма трубы".

Для реализации такого вычисления необходимо выполнить следующие шаги:

1. Добавляем два дополнительных поля товара "Диаметр/Толщина" и "Длина" и отмечаем их как "Свойства".

Заполняем параметры поля "Диаметр/Толщина" (Рис 1):
- "Системное имя поля" - p_diamth
- "Заголовок" - Диаметр/Толщина
- "Максимальная длина" - 512
- "Свойство товара" - "Да"
- "Использовать список значений" - "Да"
- "Добавлять к имени товара в заказе" - "Да"

Заполняем параметры поля "Длина" (Рис 2):
- "Системное имя поля" - p_length
- "Заголовок" - Длина
- "Максимальная длина" - 255
- "Свойство товара" - "Да"
- "Использовать список значений" - "Да"
- "Список значений по умолчанию" - 1;2;3;5;7;10 (этот список значений будет доступен пользователю для выбора длины. Можно использовать формат списка с заголовком, например: 1:1 м;2:2 м;3:3 м;5:5 м;7:7 м;10:10 м , более подробно см "Поля товара", Рис 3)
- "Добавлять к имени товара в заказе" - "Да"

2. Добавляем раздел "Трубы". Создаем категорию "Трубы" и в включаем ее в раздел "Трубы" (Рис 4).
Для раздела "Трубы" устанавливаем формулу цены и веса (Рис 5):
- "Формула веса" - 'p_diamth'*'p_length'
- "Формула цены" - 'weight'*'price'
В поле "Свойства" в редактировании раздела "Трубы" добавляем в список добавленные нами свойства "Длина" и "Диаметр/Толщина" (Рис 5).

3. Создаем товар "Труба".
- В параметре "Цена" задаем цену за 1 кг изделия.
- На вкладке "Характеристики" задаем параметр "Список значений для поля 'Диаметр/Толщина'" следующим образом (Рис 6):

1000:50 мм/3 мм;2000:70 мм/5 мм;3000:120 мм/10 мм

где 1000, 2000, 3000 - это вес одного метра трубы с данным диаметром и толщиной, 50 мм/3 мм, 70 мм/5 мм, 120 мм/10 мм - заголовки опций, означающие диаметр/толщину трубы.

Теперь цена и вес трубы будут вычисляться по заданной нами формуле в зависимости от выбранных пользователем значений "Длина" и "Диаметр/Толщина".

Рис1. Поле Диаметр/толщинаРис2. Поле 'Длина'Рис3. параметры поля 'Длина'

Рис4. Раздел 'Трубы'Рис5. Настройка раздела - формулыРис6. Список значений "Диаметр/толщина"

Недавно обновленные

Содержание