3
カタログルールの毎日の更新が機能しない
Magentoのカタログルールの毎日の更新が機能しないという問題に直面しています。これは、カタログルールの有効期限が切れたときに製品の価格が変更されないことを意味するため、管理でルール適用ボタンを押す必要があります。Cronが構成され、機能しています。catalogrule / observer :: dailyCatalogUpdateメソッドは毎日自動的にルールをチェックして適用するようですが、そうではありません(手動で起動しようとしました)。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> 観察者: /*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; …