我第一次为magento安装了cron工作.这是一个在config.xml中具有cronjob设置的模块,如下所示
<crontab>
<jobs>
<campaigns_observer_discount>
<!-- each 7 minutes -->
<schedule><cron_expr>*/1 * * * *</cron_expr></schedule>
<run><model>campaigns/observer::discountExpiryAlert</model></run>
</campaigns_observer_discount>
</jobs>
</crontab>
Run Code Online (Sandbox Code Playgroud)
当cron.php运行时,magento正在查找不在本地文件夹中的mage目录下的文件,错误状态如下
2011-08-12T13:38:07+00:00 ERR (3): Warning: include(Mage/Campaigns/Model/Observer.php): failed to open stream: No such file or directory in /var/www/website/src/magento/lib/Varien/Autoload.php on line 93
Run Code Online (Sandbox Code Playgroud)
它应该寻找Namespace/Campaigns/Model/Observer.php.我试图在config.xml中更改参数
<run><model>namespace_campaigns/observer::discountExpiryAlert</model></run>
Run Code Online (Sandbox Code Playgroud)
然后magento查找文件Mage/Namespace/Campaigns/Model/Observer.php
任何人都可以告诉我哪里出错了吗?谢谢你的帮助,非常感谢
小智 5
Magento不知道你的"命名空间",因此自动预装Mage.config.xml中还有另一个错误,很可能是在global/model部分:
<models>
<campaigns>
<class>Namespace_Campaigns_Model</class>
</campaigns>
</models>
Run Code Online (Sandbox Code Playgroud)
应根据上面的示例代码正确定义.