2010-09-22 129 views
3

我是使用Joomla的絕對初學者。我試圖在另一個模塊中加載一個模塊,但我找不到如何做到這一點。我一直在嘗試添加在Joomla的另一個模塊中加載模塊

{loadposition position} 

「位置」替換了我想要加載的模塊的位置,但它似乎只能在文章中使用。

我在這裏找到了另一個解決方案:http://forum.joomla.org/viewtopic.php?p=1531754&sid=bae9b487983c7e8a9f9c4fbd2958cf52#p1531754 但我不知道將PHP代碼放在我的模塊中。

感謝您的幫助!

回答

12

您需要手動添加代碼以將內部模塊呈現給容器模塊。這裏有一個例子:

jimport('joomla.application.module.helper'); 
$module = JModuleHelper::getModule('mainmenu'); 
$attribs['style'] = 'xhtml'; 
echo JModuleHelper::renderModule($module, $attribs); 

來自 http://docs.joomla.org/JModuleHelper/renderModule

要顯示你需要將代碼放在您希望呈現的HTML您的外源模塊的部分輸出。

在哪裏你可以用你想嵌入的模塊的名字替換'mainmenu'。 (我刪除了第二個參數,因爲我假設你不想顯示標題)。

+0

好,謝謝我給一個嘗試和反饋;) – 2010-09-22 15:04:14

+0

我應該創建一個新的模塊模板?我以爲我可以使用現有的... – 2010-09-22 15:22:48

+0

我不完全確定你的意思是通過創建一個新的模塊模板。如果你的意思是添加一個新的模塊位置到你的網站模板,那麼沒有。代碼會在另一個模塊中渲染一個模塊 - 不需要爲內部模塊指定一個位置。但是,您需要修改外部模塊的代碼,因此如果在沒有內部模塊的情況下使用它,您可能需要添加一個模塊參數,指定是否顯示內部模塊,然後在添加代碼之前執行檢查我已經發布。 – 2010-09-22 15:32:58

4

如果您需要攜帶除菜單之外的其它模塊(每總是在那裏告訴你一個模塊)

這是我的絕招:(2.5工程和3.0)

轉到您的模塊,並創建在這種情況下,只有像「oehelp」這樣的虛假位置。

$document = &JFactory::getDocument(); 
$renderer = $document->loadRenderer('modules'); 
$options = array('style'=>'raw'); 
echo $renderer->render('oehelp',$options,null); 

瞧,

saludos