Joomla:是否可以在没有 iframe 和插件的情况下显示组件的视图?

Joomla: Is it possible to display a view of a component without iframe and plugin?

是否可以在没有 iframe 和插件的情况下显示组件视图? (也就是说,如果可能的话,用几行 PHP 和也许 SQL 查询?)

编辑: 更清楚一点:我想直接在 PHP-Template 中进行! (也可以在文章中这样做,因为我已经写了一篇 PHP-函数showArticle(mixed $ident))

(我使用的是 Joomla 3.5)

我想做类似的事情

<jdoc:include type="component" view="example" name="position-x" />

<?php
    show_component('component-name', 'view-name');
?>

你可以使用这个组件http://extensions.joomla.org/extension/components-anywhere 安装插件并启用它。 然后你可以这样调用组件{component url/of/the/component}

{组件 index.php?component=com_example&form=1}

尝试在 url 中使用非 sef url,但 sef url 仍然有效。

还有另一种方法可以通过这种方式将模型调用到您的控制器文件中来实现此目的

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_example/models', 'ExampleModel');

它的作用是在指定文件夹中搜索以 ExampleModel 开头的模型 class。在这里你可以只输入一个路径字符串或目录数组作为第一个参数。接下来你必须以这种方式调用视图文件中的方法

$exmodel = JModelLegacy::getInstance('Something', 'ExampleModel', array('ignore_request' => true));

所以在这里你创建了一个 class 对象的实例,它可以用来以这种方式从模型中获取项目

$items = $exmodel->getitem();
$this->assignRef('items', $items);

接下来,您可以复制该组件的 tmpl 文件夹中的 default.php 文件,并将其放置在布局文件中您喜欢的任何位置。基本上不是复制整个组件,而是调用模型并获取可在布局中使用的数据。