这是我的控制器。
public function mockcron_newmatchAction(){
$task = Mage::getModel('showdown/cron::makematch');
var_dump($task);
}
这是位于app/code/local/Desbest/Showdown/Model
<?php
class Desbest_Showdown_Model_Cron
{
public function makematch(){
$var = "apples";
return $var;
}
}
问题是$task = Mage::getModel('showdown/cron::makematch');
没有运行,我希望该模型运行。我该怎么办?
无论我是否选择了现有模型,变量都会打印为false
。
答案 0 :(得分:1)
只有在::
XML中提供源模型时,system.xml
语法才有效。
ex.
#File: app/code/core/Mage/Paypal/etc/system.xml
<source_model>paypal/config::getApiAuthenticationMethods</source_model>
当您编写常规PHP代码时,它不起作用。你想要的语法是
$task = Mage::getModel('showdown/cron')->makematch();
对Mage::getModel('showdown/cron')
的调用实例化您的模型对象,然后->makematch();
调用方法,按照标准PHP。当你说
Mage::getModel('showdown/cron::makematch');
您要求magento使用别名showdown/cron::makematch
来实例化该类。由于这是一个无效的别名别名,因此总是返回false。