Tôi gặp phải vấn đề là các quy tắc cập nhật hàng ngày của Magento không hoạt động. Điều này có nghĩa là không có thay đổi giá sản phẩm khi ngày hết hạn của quy tắc danh mục, vì vậy tôi phải nhấn nút áp dụng quy tắc trong Quản trị viên. Cron được cấu hình và làm việc. Có vẻ như phương pháp catalogrule / observer :: DailyCatalogUpdate sẽ tự động kiểm tra và áp dụng các quy tắc mỗi ngày, nhưng nó không (tôi cũng đã cố gắng khởi chạy thủ công). Đây là mã lõi 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>
Người quan sát:
/*file app/code/core/Mage/CatalogRule/Model/Observer.php*/
public function dailyCatalogUpdate($observer)
{
Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
return $this;
}
Tôi đã có một phương pháp quan sát sửa đổi thành công như sau:
/*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;
}
Cách này quy tắc được kiểm tra và áp dụng mỗi ngày và giá sản phẩm đang được thay đổi nếu quy tắc hết hạn. Tôi không tin rằng đó là lỗi của Magento. Xin vui lòng, tư vấn vấn đề mà các quy tắc không được kiểm tra và áp dụng tự động là gì?