Magento - К какому типу цен применяется новая скидка? - PullRequest
3 голосов
/ 12 апреля 2011

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

Какое свойство объекта Product содержит эту окончательную цену?это getFinalPrice ()?getCalculatedFinalPrice ()?Что-то другое?

Примечание. Я подумал о «совмещении» Правил каталожной цены для своих целей, но понял, что это не сработает, потому что они работают по ежедневному графику, а мне нужно планировать почасово.

1 Ответ

2 голосов
/ 28 апреля 2011

getFinalPrice () - это цена, которую пользователь видит в своей корзине.Если это было установлено явно в модели продукта, он вернет это значение.В противном случае он возвращает результат метода ценовой модели продукта getFinalPrice ().

Ценовая модель проверит, имеет ли продукт установлен свойство selected_final_price.Если нет, то будут применяться ценовые уровни, а затем специальные цены, а затем установить окончательную цену на продукт.Затем он отправит событие, дающее вам возможность изменить окончательную цену.Наконец, будут применены любые цены для пользовательских опций для продукта.

Лучший способ сделать то, что вы пытаетесь сделать, - это, вероятно, подключиться к событию catalog_product_get_final_price и установить окончательную цену продукта на основечас в это время.Поэтому в вашей конфигурации настройте обработчик события для каталога catalog_product_get_final_price.Ваш наблюдатель будет иметь доступ к $ this-> getProduct () и $ this-> getQty (), где вы можете обновить цену.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...