Magento在cronjob中存储id

Jas*_*ila 6 parameters cron store magento

有没有办法在使用cronjob执行模型时将商店ID作为参数?

Iva*_*nyi 18

您不能为Magento Cron Job指定存储范围,但您可以添加可在其中使用的其他参数.

  1. 指定可以通过cron方法处理的其他节点:

    <crontab>
       <jobs>
           <job_name>
               <schedule>
                   <cron_expr>* * * * * *</cron_expr>     
               </schedule>
               <run>
                   <model>module/observer::myJob</model>
               </run>
               <store>store_code</store>
           </job_name>
       </jobs>
    </crontab>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 以及使用当前作业代码接收计划对象的方法:

    public function myJob($schedule) 
    {
        $jobsRoot = Mage::getConfig()->getNode('crontab/jobs');
        $jobConfig = $jobsRoot->{$schedule->getJobCode()};
        $yourStoreNode = (string) $jobConfig->store;
    
        // Here goes store related functionality
    }
    
    Run Code Online (Sandbox Code Playgroud)

所有与商店相关的模型都只能为特定商店加载数据,所以我希望它能解决您的问题.