Joomla - MVC模型/查看注册

时间:2012-11-29 16:10:43

标签: php joomla

我有一个组件需要注册第二个视图。当我编码我的网址以设置视图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);
}
}
?>

1 个答案:

答案 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需要先在组件(即页眉)之前输出所有内容。