我们如何在 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);
}
?>
非常感谢。
试试这个,
使用此方法,您可以将参数传递给模块。
$document = JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$Module = JModuleHelper::getModule('mod_fmDataGrid');
$Params = "param1=brunonrparam2=chris"; //This is the way of passing params values
$Module->params = $Params;
echo $renderer->render($Module);
希望对您有所帮助。
尝试使用以下方法:
foreach ($modules as $module)
{
echo $module->title;
echo JModuleHelper::renderModule($module);
}
您也可以使用以下内容,但您必须手动输入模块标题。这只是假设你不希望它是动态的。您还需要更改主菜单
$module = JModuleHelper::getModule( 'mainmenu', 'Module Title Goes Here' );
echo JModuleHelper::renderModule( $module );
试试这个。希望这对你有用。
$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);