我有一个组件需要注册第二个视图。当我编码我的网址以设置视图varialbe时:
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);
}
}
?>
答案 0 :(得分: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需要先在组件(即页眉)之前输出所有内容。