2012-07-13 41 views
2

我有一個樣本文件:如何獲取該組件的佈局,其他成分的Joomla

/components/com_test/views/test/tmpl/abc.php 

而且

/components/com_content/views/article/tmpl/default.php 

default.php of com_content我使用代碼調用佈局com_test

... 
<?php 
require('index.php?option=com_test&view=test&tmpl=component&layout=abc'); 
?> 
... 

但結果不顯示在com_content佈局abc,如何解決它?

回答

1

沒有處理直接V2.5,但下面的代碼在Joomla的早期MVC:

view.html.php

class myComponentViewmyModel extends JView 
{ 
    function display($tpl = null) 
    { 
    global $mainframe; 
    if($this->getLayout() == 'abc') { 
     $this->_displayAbc($tpl); 
     return; 
    } 
. 
. 
. 

function _displayAbc($tpl) 
{ 
    global $mainframe; 
    . 
    . 
    . 
} 
1

我有一個想法是,你可以用IFRAME:

JHTML::_('behavior.modal', 'a.modal'); 
<a class="modal" rel="{handler: 'iframe', size: {x: 500, y: 400}}" href="index.php?option=com_test&view=test&tmpl=component&layout=abc">Test</a> 
0

您正在傳遞一個URL作爲require的參數。該函數需要一個路徑,而不是一個URL。

相反,你應該這樣做:

<?php 
    require(JPATH_SITE.DS.'components'.DS.'com_test'.DS. 
      'views'.DS.'test'.DS.'tmpl'.DS.'abc.php'); 
?>