Magento 在 cronjob 中存储 id

发布于 2024-11-01 11:12:40 字数 41 浏览 3 评论 0原文

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

Is there a way to give a store id as parameter when executing a model with cronjob ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

a√萤火虫的光℡ 2024-11-08 11:12:40

您无法指定 Magento Cron Job 的存储范围,但您可以添加可在其中使用的其他参数。

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

    <预><代码>;
    <工作>
    <工作名称>
    <时间表>
    * * * * * *

    <运行>
    <模型>模块/观察者::myJob

    <商店>商店代码


  2. 以及使用当前作业代码接收调度对象的方法:

    公共函数 myJob($schedule) 
    {
        $jobsRoot = Mage::getConfig()->getNode('crontab/jobs');
        $jobConfig = $jobsRoot->{$schedule->getJobCode()};
        $yourStoreNode = (string) $jobConfig->store;
    
        // 这里是存储相关的功能
    }
    

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

You cannot specify store scope for Magento Cron Job, but you can add additional arguments that you can use inside of it.

  1. Specify additional node that you can process via your cron method:

    <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>
    
  2. And method where you receiving the schedule object with current job code:

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

All the store related models can load data only for a particular store, so I hope it solves your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文