2

我们如何在 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);
}
?>

非常感谢。

4

3 回答 3

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);

希望能帮助到你..

于 2013-10-22T09:22:52.607 回答
1

尝试使用以下内容:

foreach ($modules as $module)
{
    echo $module->title;
    echo JModuleHelper::renderModule($module);
}

您也可以使用以下内容,但是您必须手动输入模块标题。这只是假设您不希望它是动态的。您还需要更改主菜单

$module = JModuleHelper::getModule( 'mainmenu', 'Module Title Goes Here' );
echo JModuleHelper::renderModule( $module );
于 2013-10-22T08:42:30.733 回答
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); 
于 2016-02-10T13:13:22.190 回答