Me enfrento al problema de que la actualización diaria de las reglas del catálogo de Magento no funciona. Esto significa que no hay cambios en el precio de los productos cuando llega la fecha de caducidad de la regla del catálogo, por lo que tengo que presionar el botón de aplicar regla en Admin. Cron está configurado y funcionando. Parece que el método catalogrule / observer :: dailyCatalogUpdate debería verificar y aplicar reglas automáticamente todos los días, pero no lo hace (también he intentado iniciarlo manualmente). Aquí está el código central de 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>
Observador:
/*file app/code/core/Mage/CatalogRule/Model/Observer.php*/
public function dailyCatalogUpdate($observer)
{
Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
return $this;
}
Tuve un método de observación de modificación exitoso como a continuación:
/*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;
}
De esta forma, las reglas se verifican y aplican todos los días y los precios de los productos se cambian si la regla caduca. No creo que sea un error de Magento. Por favor, avise cuál es el problema de que las reglas no se verifiquen y apliquen automáticamente.