私の知る限り、スクリプトがMagentoの外部で実行されると、イベントが発生したときにオブザーバーは呼び出されません。なんで?どうすれば修正できますか?
以下は、私をこの質問に導いた元の問題です。問題は、カタログルールを適用するオブザーバーが呼び出されないことです。イベントは発生しますが、オブザーバーはそれを取得しません。
Magentoセッションをロードする外部スクリプトを実行しています。
そのスクリプト内で、私は製品をロードし、たくさんのプロパティを取得しています。1つの問題は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();
任意の洞察をいただければ幸いです。