在Joomla工作,我设置了我的模型和视图,但是当加载页面时,没有数据出现。
型号:
class mlsModelmls extends JModel
{
/**
* Gets the info
*/
function mlsdata($column)
{
$db =& JFactory::getDBO();
$query = "
SELECT *
FROM ".$db->nameQuote('#__mls')."
WHERE ".$db->nameQuote('MSTMLSNO')." = ".$db->quote('4112065').";
";
$db->setQuery($query);
$row = $db->loadRow();
print_r($row[$column]);
}
}
查看:
class mlsViewmls extends JView
{
function mlsnum($tpl = null)
{
$model = &$this->getModel();
$mlsnum = $model->mlsdata(MSTMLSNO);
$this->assignRef( 'mlsnum', $mlsnum );
$agentuid = $model->mlsdata(MSTLISTBRD);
$this->assignRef( 'agentuid', $agentuid );
$listdt = $model->mlsdata(MSTLISTDT);
$this->assignRef( 'listdt', $listdt );
/** Some more assignRef() */
parent::display($tpl);
}
}
TMPL:
<h2 class="price">
<?php echo $this->mlsnum; ?>
</h2>
加载页面时,TMPL看起来很好,但<?php echo $this->mlsnum; ?>
引用调用没有数据显示。
每个assignRef()
是否需要它自己的功能?
答案 0 :(得分:3)
尝试更改
print_r($row[$column]);
到此:
return $row[$column];
这一个
parent::display($tpl);
到
return parent::display($tpl);
否则它只是没有结果。
答案 1 :(得分:1)
您的mlsdata()
方法没有返回任何内容,因此您不会为模板变量分配任何内容。
添加return $row
并移除print_r
。
答案 2 :(得分:0)
尝试将模型功能更改为:
function mlsdata($column) {
$db =& JFactory::getDBO();
$query = " SELECT * FROM ".$db->nameQuote('#__mls')." WHERE ".$db->nameQuote('MSTMLSNO')." = ".$db->quote('4112065').";
$db->setQuery($query);
$row = $db->loadRow();
return $row;
}