据我所知,当脚本在 Magento 之外运行时,触发事件时不会调用观察者。为什么?我如何解决它?
以下是导致我提出这个问题的原始问题。问题是永远不会调用将应用目录规则的观察者。事件触发,但观察者没有接收到它。
我正在运行一个加载 Magento 会话的外部脚本。
在该脚本中,我正在加载产品并获取一堆属性。一个问题是getFinalPrice()
不适用于适用于产品的目录规则。
我正在做我所知道的一切来设置会话,即使是一堆我认为是多余的东西。似乎没有什么可以应用这些规则。
这是一个测试脚本:
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();
任何见解都值得赞赏。