2012-02-15 4 views
1

Я новичок в spree, и я прочитал, что у продукта есть главный вариант, который содержит атрибут цены. Я должен добавить «скидку» к основному варианту.Spree добавить скидку к варианту

Я могу просто добавить столбец в модель варианта и изменить вручную представление, но я думаю, что это не лучший подход, потому что я полагаю, что этот столбец должен изменить поведение процесса проверки (вместо основной цены мне нужно показать скидку, если она присутствует).

Какая из лучших стратегий для решения проблемы?

ответ

2

Я думаю, что у вас есть несколько вариантов здесь:

  • Если скидка применяется к отдельным элементам, вы можете рассмотреть возможность хранения, что цена в поле line_items.price, а не вариант. Цена позиции копируется из цены варианта, но ее можно настроить на любую цену скидки, которую вы хотите установить, не влияя на вариант. Значение, скидка код может иметь произвольный процент от этого элемента, и цена line_item будет обновляться, чтобы отразить этот процент скидки.
  • Если скидка распространяется на весь заказ, его можно было бы добавить в качестве корректировки/кредита, как работает промо-жемчуг.

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

+0

скидка применяется к отдельным товарам, например товарам Цена: 10, дисконтная цена: 8. Предлагаете ли вы добавить столбец discount_price в объект line_items? Спасибо –

+0

Нет, я не предлагаю создать дополнительный столбец. Я предлагаю добавить калькулятор на основе других подобных калькуляторов Spree и просто обновить столбец line_item.price. –

Смежные вопросы