Mam problem z tym, że codzienna aktualizacja zasad Katalogu Magento nie działa. Oznacza to, że nie ma żadnych zmian cen produktów, gdy nadejdzie data wygaśnięcia reguły katalogu, więc muszę nacisnąć przycisk Zastosuj regułę w Administratorze. Cron jest skonfigurowany i działa. Wygląda na to, że metoda catalogrule / observer :: dailyCatalogUpdate powinna sprawdzać i stosować reguły automatycznie każdego dnia, ale tak nie jest (próbowałem również uruchomić ją ręcznie). Oto kod podstawowy Magento:
<!--file: app/code/core/Mage/CatalogRule/etc/config.xml-->
<crontab>
<jobs>
<catalogrule_apply_all>
<schedule>
<cron_expr>*/1 * * * *</cron_expr>
</schedule>
<run>
<model>catalogrule/observer::dailyCatalogUpdate</model>
</run>
</catalogrule_apply_all>
</jobs>
...
</crontab>
Obserwator:
/*file app/code/core/Mage/CatalogRule/Model/Observer.php*/
public function dailyCatalogUpdate($observer)
{
Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
return $this;
}
Miałem sukces modyfikującą metodę obserwatora, jak poniżej:
/*file app/code/core/Mage/CatalogRule/Model/Observer.php*/
public function dailyCatalogUpdate($observer)
{
Mage::getModel('catalogrule/rule')->getResourceCollection()
->walk(array(
Mage::getResourceSingleton('catalogrule/rule'),
'updateRuleProductData'
));
Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
return $this;
}
W ten sposób reguły są sprawdzane i stosowane codziennie, a ceny produktów zmieniają się, jeśli reguła wygasa. Nie wierzę, że to błąd Magento. Proszę doradzić, na czym polega problem polegający na tym, że reguły nie są sprawdzane i stosowane automatycznie?