O ile wiem, kiedy skrypt jest uruchamiany poza Magento, obserwatorzy nie są wywoływani, gdy zdarzenie jest uruchamiane. Czemu? Jak mogę to naprawić?Magento: Jak zachęcić obserwatorów do pracy w zewnętrznym skrypcie?
Poniżej znajduje się oryginalny numer, który doprowadził mnie do tego pytania. Problem polega na tym, że obserwator, który stosuje regułę katalogu, nigdy nie jest wywoływany. Wydarzenie się rozpala, ale obserwator go nie odbiera.
Używam zewnętrznego skryptu, który ładuje sesję Magento.
Wewnątrz tego skryptu ładuję produkty i chwytam kilka właściwości. Jedynym problemem jest to, że getFinalPrice()
nie stosuje reguł katalogu, które mają zastosowanie do produktu.
Robię wszystko, co wiem, aby ustawić sesję, nawet kilka rzeczy, które uważam za zbyteczne. Wydaje się, że nic nie ma zastosowania do tych reguł.
Oto skrypt testowy:
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();
Każdy wgląd jest doceniana.
Jakie wydarzenie chcesz podłączyć i jak wygląda plik config.xml dla obserwatora wydarzeń? –