Magento의 카탈로그 규칙 일일 업데이트가 작동하지 않는다는 문제가 있습니다. 즉, 카탈로그 규칙의 만료 날짜가 올 때 제품 가격이 변경되지 않으므로 관리자에서 규칙 적용 버튼을 눌러야합니다. Cron이 구성되어 작동 중입니다. catalogrule / observer :: dailyCatalogUpdate 메소드는 매일 자동으로 규칙을 확인하고 적용해야하지만 보이지는 않습니다 (수동으로 시작하려고 시도했습니다). 마 젠토 코어 코드는 다음과 같습니다.
<!--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>
관찰자:
/*file app/code/core/Mage/CatalogRule/Model/Observer.php*/
public function dailyCatalogUpdate($observer)
{
Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
return $this;
}
다음과 같이 옵저버 방법을 수정하는 데 성공했습니다.
/*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;
}
이 방법으로 매일 규칙을 확인하고 적용하며 규칙이 만료되면 제품 가격이 변경됩니다. 나는 그것이 Magento의 버그라고 생각하지 않습니다. 규칙을 확인하지 않고 자동으로 적용하지 못하는 문제는 무엇입니까?