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 に答える