如 果您是在线商店的在线所有者或管理员,则必须每周/每月为购物车价格规则设置规则。
但是,如您所知,默认的Magento不支持此功能,它只允许安排规则在定义的时间内运行;
这有时会让你觉得不方便,因为它需要太多的手工工作
但是,由于cron作业本身就是计划任务,并且对于在服务器上运行的自动执行重复性任务非常有用,购物车价格规则的计划变得非常快速和容易。现在我们可以在后端编写一个包含完整部分管理的完整模块,或者编写一个简单的PHP代码
假设规则需要每周一天(例如星期六)在您的商店上运行,并在周日自我激活。
步骤1:在Magento的根目录中创建一个PHP文件。
首先,包括Mage.php以使用默认函数; 下面是Mage.php的命令:
$mageFilename = " app/Mage.php";
$date = date('Y-m-d H:i:s');
if (!file_exists($mageFilename)) {
echo $date. " --- ". $mageFilename." was not found". PHP_EOL;
exit;
}
require_once $mageFilename;
// Secondly, assume that the ID shopping cart rule is 10, set a rule like this command:
$rule = Mage::getModel('salesrule/rule')->load(10);
try{
// Then check whether today is Saturday by the structure:
if(date('w') == 6){
$rule->setIsActive(1)->save();
// After that, save the log when running Cron job:
echo $date." --- activated rule #10". PHP_EOL;
// Next, do as follows if you want everytime the rule is activated you receive a notification email.
$msg = $date." --- activated rule #10";
mail("ruanrubo@163.com","Activated Shopping Cart Price Rule #10",$msg);
}else{
$rule->setIsActive(0)->save();
echo $date." --- deactivated rule #10". PHP_EOL;
$msg = $date." --- deactivated rule #10";
当规则在星期日停用时,请发送电子邮件通知本指南:
if(date('w') == 0){ mail("ruanrubo@163.com ","Inactivated Shopping Cart Price Rule 10",$msg); } } } catch (Mage_Core_Exception $e) { echo $date." --- Error". PHP_EOL; echo $e->getMessage(); mail("ruanrubo@163.com","Error occurred whilde activating/inactivating rule #10",$e->getMessage()); } catch (Exception $e) { echo $date." --- Error". PHP_EOL; echo $e->getMessage(); mail("ruanrubo@163.com "," Error occurred whilde activating/inactivating rule #10",$e->getMessage()); }
第2步:设置Cron作业
首先,连接到SSH服务器。
然后运行''crontab - e''命令并再次按“a”键来编辑cron作业
添加如下所示的新行,其中:
/chroot/home/user/html/weekend.php:serverpath - 转到您在第1部分中创建的PHP代码。
/chroot/home/user/html/var/log/weekendcron.log:serverpath - 转到你将保存的日志文件
要保存并退出,请按ESC键,然后输入:wq!
要检查cron作业是否运行正常,我们需要检查weekendcron.log文件。如果你想测试cron作业,你应该暂时修复“@daily”到“* * * * *”来记录更敏捷。
为了测试代码,我们可以在Web浏览器上直接访问weekend.php文件并查看直接打印的结果。
根据具体情况,代码将有所不同,但基本上,它仍然会检查日期条件,所以实际上,这些并不复杂。您可以尝试购物车规则的许多其他设置建议,例如,偶数天运行促销,在一周的指定日期运行促销,...