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.
Respuestas:
Recientemente tuve el mismo problema cuando estaba probando una nueva regla de precios para nuestro proyecto. Y la razón de mi dolor de cabeza fue que no me di cuenta de que cada vez que creas una nueva regla o editas algunas de las reglas existentes, debes presionar el botón " Aplicar reglas " para que Magento conozca los cambios en tus reglas.
fuente
Asegurarse de presionar "Aplicar reglas" no siempre es suficiente. Recientemente descubrí que si cron no está configurado correctamente, en algún momento en el futuro, las reglas no se aplicarán.
No pude concretar cuando las reglas dejaron de funcionar. En mi caso, tenía un puñado de reglas que se aplican según el grupo de clientes (mayorista).
fuente
Compruebe si el trabajo se programa
Puede hacerlo comprobando la base de datos o instalando esta extensión: Aoe_Scheduler
Prueba si el trabajo funciona
Cree un script php
run_my_rules.php
y ponga allí solo el contenido para la función:dailyCatalogUpdate
luego ejecútelo desde la consola. Mira lo que está pasando.fuente