0

在我的 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
}
?>
4

1 回答 1

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_exampleModule Title更改为您需要的任何内容

于 2013-10-22T21:42:25.613 回答