我希望我的Magento代码的一部分能够连续执行。 例如: 如果我要为过去3个月内未订购任何产品的客户发送邮件。 因此,在这种情况下,我必须为其找到邮件触发时间。
考虑 客户尚未下订单,并且其3个月在特定的上午完成 并且B客户尚未下订单,并且其3个月(作为A客户)在当日晚上完成
在这种情况下我该怎么办?
我希望输出 对于客户的邮件,早上发送 对于晚上B的客户的邮件
答案 0 :(得分:1)
您将需要Cron Job定期发送电子邮件
您必须在config.xml中编写Crontab
<crontab>
<jobs>
<custom_cron_task>
<schedule>
<cron_expr>0 0 0 ? 1/3 * *</cron_expr>
</schedule>
<run>
<model>cron/cron::crontask</model>
</run>
</custom_cron_task>
</jobs>
</crontab>
<global>
<models>
<cron>
<class>Your_Model</class>
</cron>
</models>
</global>
元素下的元素定义作业将定期运行的间隔。在上述情况下,cron作业将每3个月运行一次。
并在模型中创建cron.php
<?php
class Namespace_Mymodule_Model_Cron
{
public function customtask()
{
// send email
$mail = Mage::getModel('core/email')
->setToEmail('user@email.com')
->setBody('Body of the Automated Cron Email Goes Here')
->setSubject('Subject: Cron Task (every 3 months) '.date("Y-m-d H:i:s"))
->setFromEmail('admin@example.com')
->setFromName('Your Store Name')
->setType('html');
$mail->send();
}
}
希望这对您有用。 谢谢