从模型到视图的 Joomla 组件数据
Posted
技术标签:
【中文标题】从模型到视图的 Joomla 组件数据【英文标题】:Joomla Component data from model to view 【发布时间】:2012-12-28 10:58:53 【问题描述】:我第一次在 Joomla 中创建一个组件,现在我很难将模型中的数据调用到我的视图中。我这样做如下:
//在我的模型中
class InternetModelDefault extends JModel
public function test()
$this->test='test';
//在我看来
class InternetViewInternet extends JView
$model = $this->getModel();
$test = $model->test();
var_dump($test);
// Display the view
parent::display($tpl);
输出给出以下错误:
致命错误:在非对象上调用成员函数 test() /var/websites/www.infrait.nl/content/components/com_internet/views/internet/view.html.php 在第 66 行
哪里出错了?请帮忙..
当前地图结构:http://imgdump.nl/hosted/ad9e57de83060b3240f8fc6bba99237b.png 由于我是新手,我只能分享这个直接链接。
【问题讨论】:
【参考方案1】:你的model.php像这样
jimport ('joomla.application.component.modellist');
class InternetModelInternet extends JModelList
public function test()
$this->test='test';
并在 view.html.php 中获取模型
jimport ('joomla.application.component.view');
class InternetViewInternet extends JView
public function display ($tpl = null)
$model = &$this->getModel ();
$test = $model->test();
var_dump($test);
// Display the view
parent::display($tpl);
【讨论】:
仍然无法工作。添加了 & en de modellist.import。同样的错误。 意味着您无法在此处获取模型尝试此链接以手动获取模型***.com/questions/7159536/… 如果您还有任何问题,请告诉我 干得好,你太棒了。谢了!【参考方案2】:您收到错误是因为对象未正确启动。将类名更改为InternetModelInternet
。模型文件名为internet.php
。
如果它不起作用,请告诉我。
【讨论】:
我将模型类名称从 InternetModelDefault 更改为 InternetModelInternet,还创建了一个新的模型类页面并保持我的默认值。不确定这是否正确? 能否提供更多关于路径、类和文件的信息? 我将在 qeustion 中添加我的地图结构的 PS,它自己的类只需要输出“测试”。该组件本身是一个邮政检查器,供客户显示我们在他们的地区收到了哪些包裹,由 JSON API 处理。 PrintScreen 在一分钟内可用。 希望对您有帮助,img 已上传 从控制器推送信息以查看我使用assignref。模型是否也需要分配?以上是关于从模型到视图的 Joomla 组件数据的主要内容,如果未能解决你的问题,请参考以下文章