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. Поле Диаметр/толщина
Рис1. Поле Диаметр/толщина
Рис1. Поле Диаметр/толщина
Рис2. Поле 'Длина'
Рис2. Поле 'Длина'
Рис2. Поле 'Длина'
Рис3. параметры поля 'Длина'
Рис3. параметры поля 'Длина'
Рис3. параметры поля 'Длина'

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

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

Содержание