如何在 joomla 2.5 的组件中加载模块

Posted

技术标签:

【中文标题】如何在 joomla 2.5 的组件中加载模块【英文标题】:how to load a module in a component in joomla 2.5 【发布时间】:2014-08-02 13:47:23 【问题描述】:

我曾使用 joomla 1.5 中的代码在 com_content >> 文章中加载 mod_related_items:

<?php
jimport('joomla.application.module.helper');
$module = &JModuleHelper::getModule('module_type(example:"mod_related_items")','Position-name');
echo JModuleHelper::renderModule($module);
?>

<?php echo $this->item->event->afterDisplayContent; ?>

我曾使用此文件末尾的代码:components/com_content/views/article/tmpl/default.php

现在我想在 joomla 2.5 中使用此代码。

当我在 jooma 2.5 中使用它时,我遇到了这些错误:

注意:试图获取非对象的属性 C:\wamp\www\kknews.ir\libraries\joomla\application\module\helper.php 在第 152 行

注意:试图获取非对象的属性 C:\wamp\www\kknews.ir\libraries\joomla\application\module\helper.php 在第 156 行

注意:试图获取非对象的属性 C:\wamp\www\kknews.ir\libraries\joomla\application\module\helper.php 在第 159 行

注意:未定义的属性:stdClass::$content in C:\wamp\www\kknews.ir\templates\system\html\modules.php 第 16 行

请帮帮我。

【问题讨论】:

【参考方案1】:

试试这个,

         $document = JFactory::getDocument();
         $renderer = $document->loadRenderer('module');

         $Module = JModuleHelper::getModule('mod_fmDataGrid');

         $Params = "param1=bruno\n\rparam2=chris";//If any params
         $Module->params = $Params;//If any params
         echo $renderer->render($Module);

希望它有效..

【讨论】:

我必须把我的职位名称放在哪里?例如:position_one 传递模块名称而不是像'mod_fmDataGrid'这样的位置名称

以上是关于如何在 joomla 2.5 的组件中加载模块的主要内容,如果未能解决你的问题,请参考以下文章

在外部PHP文件中加载Joomla 3.x框架和模块

Joomla 2.5 组件控制器加载

如何在 Joomla Protostar 模板中加载外部 JS 和 URL

如何使用插件打包我的 joomla 2.5 组件?

如何对 Joomla 2.5 组件进行单元测试

如何自定义 Joomla 2.5 联系人组件?