Magento'nun Katalog kuralları günlük güncellemesinin çalışmadığı konusunda sorun yaşıyorum. Bu, katalog kuralının sona erme tarihi geldiğinde ürün fiyatında değişiklik olmadığı anlamına gelir, bu nedenle Yönetici'de kural uygula düğmesine basmam gerekir. Cron yapılandırılmış ve çalışıyor. Görünen o ki catalogrule / observer :: dailyCatalogUpdate yöntemi kuralları her gün otomatik olarak kontrol etmeli ve uygulamalıdır, ancak bunu yapmaz (ayrıca manuel olarak başlatmayı denedim). İşte Magento çekirdek kodu:
<!--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>
Gözlemci:
/*file app/code/core/Mage/CatalogRule/Model/Observer.php*/
public function dailyCatalogUpdate($observer)
{
Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
return $this;
}
Gözlemci yöntemini aşağıdaki gibi değiştirerek başarılı oldum:
/*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;
}
Bu şekilde kurallar her gün kontrol edilir ve uygulanır ve kuralın süresi dolarsa ürün fiyatları değiştirilir. Bunun Magento'nun bir hatası olduğuna inanmıyorum. Lütfen kuralların otomatik olarak kontrol edilmemesinin ve uygulanmamasının sorununu bildiriniz.