Насколько я могу судить, когда script запускается за пределами Magento, наблюдатели не вызывают при запуске события. Зачем? Как это исправить?
Ниже приведен оригинальный вопрос, который подводит меня к этому вопросу. Проблема в том, что наблюдатель, который применял бы правило каталога, никогда не вызывается. Событие срабатывает, но наблюдатель не поднимает его.
Я запускаю внешний script, который загружает сеанс Magento.
Внутри script я загружаю продукты и хватаю кучу свойств. Единственная проблема заключается в том, что getFinalPrice()
не применяет правила каталога, которые применяются к продукту.
Я делаю все, что знаю, чтобы установить сеанс, даже кучу вещей, которые, я думаю, лишние. Кажется, что эти правила не применяются.
Здесь тест script:
require_once "app/Mage.php";
umask(0);
$app = Mage::app("default");
$app->getTranslator()->init('frontend'); //Probably not needed
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton("customer/session");
$session->start(); //Probably not needed
$session->loginById(122);
$product = Mage::getModel('catalog/product')->load(1429);
echo $product->getFinalPrice();
Любое понимание понимается.