2012-11-29 54 views
1

我有一個組件,我需要註冊第二個視圖。當我編碼我的網址,從設置視圖varialbe:Joomla - MVC模型/查看註冊

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

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

視圖2將不顯示。

我是否需要在控制器中註冊第二個視圖?你能指點我一個參考嗎?谷歌搜索已經沒有了。

編輯

的視圖2代碼:

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); 
} 
} 
?> 
+2

爲什麼你在URL中代替'&'代替'&'?這是一個錯字嗎? – MrCode

+0

錯字。我已修復錯誤。 – Plummer

+0

您不需要註冊視圖,因此您的view2代碼必須存在問題,請顯示view.html.php代碼。 – MrCode

回答

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需要在你的組件(即頁頭)之前輸出所有內容。

+0

好的,註釋掉了所有無效的代碼,只是做了一個'echo'字符串,它的工作原理。猜猜我需要學習一些PHP。 :/有關使用模型中的數組創建'foreach()'的任何參考? – Plummer

+0

:)一定要留意你的錯誤日誌,因爲它會告訴你在哪裏出現任何語法錯誤。 – MrCode