我们如何使用标题在joomla中渲染模块。因为现在,我能够根据位置渲染模块,但它不包括模块标题。
以下是我渲染模块的方法。
<?php
jimport('joomla.application.module.helper');
$modules = JModuleHelper::getModules('position-3');
foreach ($modules as $module) {
echo JModuleHelper::renderModule($module->title);
echo JModuleHelper::renderModule($module);
}
?>
非常感谢。
答案 0 :(得分:2)
试试这个,
使用此方法可以将参数传递给模块。
$document = JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$Module = JModuleHelper::getModule('mod_fmDataGrid');
$Params = "param1=bruno\n\rparam2=chris"; //This is the way of passing params values
$Module->params = $Params;
echo $renderer->render($Module);
希望有所帮助......
答案 1 :(得分:1)
尝试使用以下内容:
foreach ($modules as $module)
{
echo $module->title;
echo JModuleHelper::renderModule($module);
}
您也可以使用以下内容,但是您必须手动输入模块标题。这只是假设您不希望它是动态的。您还需要更改 mainmenu
$module = JModuleHelper::getModule( 'mainmenu', 'Module Title Goes Here' );
echo JModuleHelper::renderModule( $module );
答案 2 :(得分:0)
试试这个。 希望这对你有用。
$document = JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$contents = '';
$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM `#__modules` WHERE id = 'your module id'");
$modules = $db->loadObjectList();
$module = $modules[0];
$contents = $renderer->render($module);