2016-07-28 63 views
1

這是我的問題...如何加載joomla模塊作爲鏈接?

我有一些圖像和鏈接,當用戶點擊它們時,我想加載不同的joomla模塊。

意味着每個超鏈接可以加載其他模塊|位置

感謝所有

回答

0

在情況下,你只是想打電話從URL模塊的內容如下回答會幫助你。

如果你只是想顯示/隱藏,你可以使用類似的東西我以前的答案相同的頁面模塊:Joomla 3 Show different modules on same position depending on toggler

的Joomla提供的功能通過將tmpl=FILENAME調用活動模板的一個特定的文件鍵/值的URL的查詢字符串。 如果用戶只想使用組件加載模板,則所有內置模板都有一個component.php文件。您可以查看以下鏈接瞭解更多詳情:Adding print pop-up functionality to a component

你可以做類似的事情,只顯示你想加載的模塊。 您可以將component.php複製到一個新文件(我已經使用custom.php),並在<body> ... </body>部分添加了以下php代碼。

<?php 
    $jinput = JFactory::getApplication()->input; 
    $selectedPosition = $jinput->getString("position", ""); 
    $selectedModule = $jinput->getString("module", ""); 
    $selectedModuleTitle = $jinput->getString("title"); 

    if($selectedPosition !== "") { 
     $modules = JModuleHelper::getModules($selectedPosition); 
     foreach ($modules as $module) { 
      echo JModuleHelper::renderModule($module); 
     } 
    } elseif ($selectedModule !== "") { 
     $module = JModuleHelper::getModule($selectedModule, $selectedModuleTitle); 
     echo JModuleHelper::renderModule($module); 
    } 
?> 

所以用類似的方式,loadposition/loadmodule的作品,你可以使用調用新的模板文件:

index.php?tmpl=custom&position=MODULE_POSITION 

index.php?tmpl=custom&module=MODULE_TYPE 

index.php?tmpl=custom&module=MODULE_TYPE&title=MODULE_TITLE 

可選,如果你想要加載m odule與特定的風格,你可以把它像renderModule方法的第二放慢參數:

echo JModuleHelper::renderModule($module, array("style" => "xhtml")); 

希望這有助於