【问题标题】:Display joomla component within another component在另一个组件中显示 joomla 组件
【发布时间】:2013-07-16 09:06:55
【问题描述】:

我正在尝试集成两个组件。

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

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

添加“tmpl=component”后,iframe 运行良好,但我单击 iframe 中的链接。 joomla 包括 joomla 页脚和页眉。

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

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

谢谢。

【问题讨论】:

  • 我试图编辑您的问题,但第 4 段没有意义。请澄清。
  • 我没有得到您想要澄清的内容。你能指出你不明白的地方吗?
  • 这里是什么意思:but well I click a link in the iframe. joomla includes in footer and header.
  • 将 'tmpl=component' 添加到组件 #2 中的每个链接。

标签: joomla


【解决方案1】:

使用 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() 或类似方法,这样您的辅助组件的项目将在您的主组件中可用。

【讨论】:

    猜你喜欢
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多