我有两个要集成的组件。
我在组件 #1 中创建了一个新视图,
我想 iframe 或从组件 #2 加载内容。
一旦我添加了“tmpl=component”,iframe 就可以正常工作,但是我点击了 iframe 中的链接。joomla 包括 joomla 页脚和页眉。
有没有一种有效的方法可以将组件#2 中的内容加载到组件#1 中?
我无权访问 joomla 模板。我只能访问组件#1 和#2。
谢谢。
我有两个要集成的组件。
我在组件 #1 中创建了一个新视图,
我想 iframe 或从组件 #2 加载内容。
一旦我添加了“tmpl=component”,iframe 就可以正常工作,但是我点击了 iframe 中的链接。joomla 包括 joomla 页脚和页眉。
有没有一种有效的方法可以将组件#2 中的内容加载到组件#1 中?
我无权访问 joomla 模板。我只能访问组件#1 和#2。
谢谢。
使用 iframe 不是最佳选择,最好从主组件的控制器调用其他组件的模型并处理来自主组件的视图。所以双重组件只会存在于您的后端逻辑中,并且视图将完全由主组件单独处理。
这仅在辅助组件的开发人员避免使用 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() 等,因此您的辅助组件的项目将在您的主要组件中可用。