在我的k2页面上,我需要在顶部区域完成模块,无法进行模块分配,因为页面是动态选择的数据库。所以我安装了一个像“loadmodule”这样的模块,区别很简单我可以获得具有特定id的模块。
例如: {loadmodulefromarticle | 97} 如果我在额外的字段或内容区域中使用它,那么它可以工作,但是如我所知,我需要它在我的页面的顶部区域,所以我有一个if请求并尝试在顶部加载k2内容。我得到了内容,没关系。但我在这里只看到纯文本,并且没有加载模块。我的问题是,在这里插入什么以便我加载模块?我认为它可以是 $ result;
<?php
$menuID = JSite::getMenu()->getActive()->id ;
if ($menuID == '713') {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('introtext');
$query->from('#__k2_items');
$query->where('id = ' . JRequest::getInt('id'));
$db->setQuery($query);
$result = $db->loadResult();
?>
<div id="gkHeaderMod">
<div><?php echo $result; ?></div>
</div>
<?php
}
?>
答案 0 :(得分:0)
您可以执行以下操作。它使用Joomla编码标准获取菜单ID,renderModule
显示模块。
<?php
$app = JFactory::getApplication();
$menuID = $app->getMenu()->getActive()->id;
if ( $menuID == '713' ) {
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('introtext')
->from('#__k2_items')
->where('id = ' . JRequest::getInt('id'));
$db->setQuery($query);
$result = $db->loadResult();
echo '<div id="gkHeaderMod">';
$module = JModuleHelper::getModule( 'mod_example', 'Module Title' );
echo JModuleHelper::renderModule( $module );
echo '</div>';
}
?>
请注意,您必须将 mod_example 和模块标题更改为您需要的任何内容