在另一个组件中显示joomla组件

时间:2013-07-17 17:13:21

标签: joomla

我想要整合两个组件。

我在组件#1中创建了一个新视图,

我想iframe或加载组件#2中的内容。

一旦我添加了' tmpl = component',iframe就能正常运行,但我点击了iframe中的链接。 joomla包括joomla页脚和标题。

是否有一种有效的方法将组件#2中的内容加载到组件#1中?

我无法访问joomla模板。我只能访问组件#1和#2。

感谢名单。

1 个答案:

答案 0 :(得分:1)

使用iframe不是最佳选择,最好从主组件的控制器调用其他组件的模型,并处理主组件的视图。所以double组件只存在于你的后端逻辑中,而视图将完全由主要组件处理。

仅当辅助组件的开发人员不使用JPATH_COMPONENT或其他指向错误组件的常量时,这才有效。

举例来说,在您的控制器或主要组件的模型中:

$com_path = JPATH_SITE.'/components/com_secondary_component/models';
JModelLegacy::addIncludePath($com_path , 'SecCompPrefixModel');
$secondaryModel = JModelLegacy::getInstance( 'modelName', 'SecCompPrefixModel' ,array('ignore_request' => true));

...然后您可以使用$ secondaryModel-> getItems()等,这样您的辅助组件的项目就可以在您的主要组件中使用。