1

2番目のビューを登録する必要があるコンポーネントがあります。ビューvarialbeを設定するためにURLをエンコードすると、次のようになります。

http://www.mysite.com/index.php?option=com_mycom&view=view1

http://www.mysite.com/index.php?option=com_mycom&view=view2

View2は表示されません。

コントローラに2番目のビューを登録する必要がありますか?参考文献を教えてもらえますか?グーグル検索はゼロになっている。

編集

view2コード:

defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.application.component.view');

/**
 * HTML View class for the mls Component
 *
 * @package    UniversalDynamicMedia.com
 * @subpackage  Components
 */
class mlsViewlist extends JView
{
function display($tpl = null)
{
    $model = &$this->getModel();
    $array = $model->mlsListData();
    $disparray =    foreach ($array as list($a,$b,$c,$d,$e)) {
                echo <tr><td>$a</td><td>$b</td><td>$c</td><td>$d</td><td>$e</td></tr>
            }
    $this->assignRef( 'disparray', $disparray );
    parent::display($tpl);
}
}
?>
4

1 に答える 1

2

ここに構文エラーがあります:

echo <tr><td>$a</td><td>$b</td><td>$c</td><td>$d</td><td>$e</td></tr>

する必要があります

echo "<tr><td>$a</td><td>$b</td><td>$c</td><td>$d</td><td>$e</td></tr>";

文字列リテラルをエコーするときは引用符が必要です。ただし、ここでは何もエコーしないでください。すべての出力は、view.html.phpではなくビューのDefault.phpで実行する必要があります。これは、Joomlaが最初にコンポーネント(つまりページヘッダー)の前にすべてを出力する必要があるためです。

于 2012-11-29T16:36:23.230 に答える