আমি এমন সমস্যার মুখোমুখি হয়েছি যে ম্যাজেন্টোর ক্যাটালগ নিয়ম করে যে প্রতিদিনের আপডেট কাজ করে না। এর অর্থ হ'ল ক্যাটালগ নিয়মের মেয়াদ শেষ হওয়ার সময় কোনও পণ্যের দামের পরিবর্তন হয় না, সুতরাং আমাকে অ্যাডমিনে নিয়ম প্রয়োগ বোতাম টিপতে হবে। ক্রোন কনফিগার করা এবং কাজ করা হয়। দেখে মনে হচ্ছে ক্যাটালগ্রোল / পর্যবেক্ষক :: দৈনিক ক্যাটালগ্স আপডেট পদ্ধতিতে প্রতিদিন স্বয়ংক্রিয়ভাবে নিয়মগুলি পরীক্ষা করা এবং প্রয়োগ করা উচিত, তবে এটি হয় না (এছাড়াও আমি নিজে নিজে এটি চালু করার চেষ্টা করেছি)। এখানে ম্যাগান্টো কোর কোড রয়েছে:
<!--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;
}
এইভাবে নিয়মগুলি প্রতিদিন পরীক্ষা করা হয় এবং প্রয়োগ করা হয় এবং নিয়মের মেয়াদ শেষ হলে পণ্যগুলির দাম পরিবর্তন করা হচ্ছে। আমি বিশ্বাস করি না যে এটি ম্যাজেন্টোর একটি বাগ। দয়া করে পরামর্শ দিন যে নিয়মগুলি স্বয়ংক্রিয়ভাবে চেক করা এবং প্রয়োগ করা হচ্ছে না এমন সমস্যা কি?