2012-12-05 41 views
0

我有一個自定義模塊,它被設置爲在所有菜單中顯示。在這個模塊內部,我使用下面的代碼加載了一個名爲「leftcenter」的新模塊位置。模塊內部的joomla模塊在設置爲僅出現在選定菜單中時不會出現

<?php 
$ad_module = &JModuleHelper::getModules('leftcenter'); 
foreach ($ad_module as $ad_loader) { 
    $_options = array('style' => 'xhtml'); 
    echo JModuleHelper::renderModule($ad_loader); 
    } 
?> 

我可以查看分配給當它設置查看所有菜單,但在所有的,當它被設置在僅選擇的菜單,顯示不會出現這個位置的模塊。有人可以幫我解釋爲什麼會發生這種情況嗎?

+0

在您用來加載其他模塊的當前模塊中,它有沒有其他用途? – Lodder

+0

您想要在自定義模塊中使用另一個模塊功能,或者您只想在該模塊內顯示顯示內容? – Toretto

+0

我想根據所選菜單在「leftcenter」位置加載不同的模塊。@ Lodder – Arunu

回答

0

你可以簡單地通過使用這一行代碼,通過投入你的模塊。

<jdoc:include type="modules" name="leftcenter" /> 

您將獲得該模塊內部指定給該特定位置的所有模塊。

+0

感謝您的幫助。但我需要的是,我需要在另一個模塊內加載模塊位置。不同的模塊可以分配給這個位置,它應該只出現在它被分配顯示的菜單上。目前我能夠只有在分配給所有菜單中的內部模塊時才能查看內部模塊。 @Tornado – Arunu

+0

這就是爲什麼我剛纔說的,只是把它放在你想要顯示模塊的位置,所有分配到該位置的模塊都應該顯示 – Toretto

+0

sorry.this代碼用於渲染template.it中的模塊位置。模塊。@ Tornado。任何其他幫助將不勝感激 – Arunu

1

試試這個

jimport('joomla.application.module.helper'); 
    $mods = JModuleHelper::getModules('product_page'); 
    echo JModuleHelper::renderModule($mods[0]); 

你也應該從模塊管理器正確地給模塊菜單的分配。 這就是爲什麼你沒有得到一些菜單。 如果您的第二個模塊僅出現在此模塊中,那麼您將第二個模塊啓用到所有菜單。 我希望這會解決你的問題。