0

在 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()需要自己的功能吗?

4

3 回答 3

3

尝试改变

print_r($row[$column]);

对此:

return $row[$column];

和这个

parent::display($tpl);

return parent::display($tpl);

否则只是没有结果。

于 2012-11-28T16:10:00.130 回答
1

您的mlsdata()方法没有返回任何内容,因此您没有为模板变量分配任何内容。

添加return $row和删​​除print_r.

于 2012-11-28T16:09:03.177 回答
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;
}
于 2012-11-28T16:13:18.143 回答