1

我有一个组件,我需要为其注册第二个视图。当我编码我的网址以设置视图变量时:

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

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

View2 不会显示。

我需要在控制器中注册第二个视图吗?你能给我指个参考吗?谷歌搜索结果为零。

编辑

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>";

回显字符串文字时需要引号。不过,您甚至不应该在这里呼应任何东西。所有输出都应该在视图的 Default.php 而不是 view.html.php 中完成。这样做的原因是因为Joomla 需要首先输出您的组件(即页眉)之前的所有内容。

于 2012-11-29T16:36:23.230 回答