Не могу получить скидку на продукт в пользовательском скрипте - PullRequest
1 голос
/ 12 января 2012

У меня есть собственный скрипт, который выводит список определенных продуктов в формате csv.Внешний интерфейс магазина работает нормально, однако при извлечении цены продукта в моем скрипте фактическая цена FinalPrice не учитывает правила цены моего каталога, что является своего рода ошибкой, поскольку метод getFinalPrice() отлично работает вфайлы шаблонов и т. д.

Это мой код, который я резко сократил в демонстрационных целях:

<?php   
    require 'app/Mage.php';
    Mage::app('default');

    $product = Mage::getModel("catalog/product")->load(27809);

    echo $product->getFinalPrice();
?>

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

Надеюсь, у кого-то есть идея, что здесь может пойти не так.Заранее спасибо!

1 Ответ

3 голосов
/ 12 января 2012

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

См. Мое дополнение ниже.

<?php   
    require 'app/Mage.php';
    Mage::app('default');

    //load event configuration areas
    Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND, Mage_Core_Model_App_Area::PART_EVENTS);

    $product = Mage::getModel("catalog/product")->load(27809);

    echo $product->getFinalPrice();
?>

См. Mage_CatalogRule_Model_Observer::processFrontFinalPrice();.

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