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