Joomla:如何将变量从模型中的构造函数传递给视图?

时间:2012-08-30 19:21:38

标签: php joomla joomla2.5

似乎这不应该那么难,但是让我适合。

在模型的__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

2 个答案:

答案 0 :(得分:2)

__construct()不会返回任何值,这就是$myvar仍为null的原因。如果您愿意,可以阅读更多相关信息 here

根据规范(在上面的链接中),您应该传递给__construct一个可以包含以下一个或多个字段的关联数组:

  • 'name'
  • 'state'
  • 'dbo'
  • 'table_path'

根据你的说法 - 你传递一个参数。试试:

$arr = array('name' => $this->MyVar);
$model->__construct($arr);

答案 1 :(得分:1)

为什么在实例化模型之后完全使用构造只是这样:

$model = $this->getModel('mymodelname');
$model->MyVar = $myvar;