[英]Joomla: How to pass variables from the constructor in the model to the view?
看起来这应该不是那么难,但是给了我适合。
在模型的__construct方法中初始化变量。
需要在view.html.php和default.php文件中访问它们。
在我的模型中:
$this->MyVar = 'somevalue';
在我的view.html.php中:
$model = $this->getModel('mymodelname');
print_r($model) //checking, yes - the model's being pulled in
$myvar = $model->__construct($this->MyVar);
echo $myvar; //empty
我做错了什么,我该如何解决?
谢谢!
=========================================
解:
$model = $this->getModel('mymodelname');
echo $model->MyVar; // returns the variable in the model
__construct()
不返回任何值,这就是$myvar
保持为null
。 如果您愿意,可以在这里阅读更多相关信息
根据规范(在上面的链接中),您应该传递给__construct
一个可以包含以下一个或多个字段的关联数组:
'name'
'state'
'dbo'
'table_path'
根据你所说的 - 你传递一个参数。 尝试:
$arr = array('name' => $this->MyVar);
$model->__construct($arr);
为什么在实例化模型之后根本使用构造,只需这样做:
$model = $this->getModel('mymodelname');
$model->MyVar = $myvar;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.