我有一个示例文件:
/components/com_test/views/test/tmpl/abc.php
和
/components/com_content/views/article/tmpl/default.php
在default.php of com_content
我使用com_test的代码调用布局
...
<?php
require('index.php?option=com_test&view=test&tmpl=component&layout=abc');
?>
...
但是结果没有在com_content中显示布局abc,如何解决?
答案 0 :(得分:2)
没有直接在v2.5中处理过,但下面的代码适用于Joomla早期的MVC:
<强> view.html.php
强>
class myComponentViewmyModel extends JView
{
function display($tpl = null)
{
global $mainframe;
if($this->getLayout() == 'abc') {
$this->_displayAbc($tpl);
return;
}
.
.
.
function _displayAbc($tpl)
{
global $mainframe;
.
.
.
}
答案 1 :(得分:1)
我有一个想法是你可以使用iframe:
JHTML::_('behavior.modal', 'a.modal');
<a class="modal" rel="{handler: 'iframe', size: {x: 500, y: 400}}" href="index.php?option=com_test&view=test&tmpl=component&layout=abc">Test</a>
答案 2 :(得分:0)
您正在传递一个URL作为require的参数。该函数需要一个路径,而不是URL。
相反,你应该这样做:
<?php
require(JPATH_SITE.DS.'components'.DS.'com_test'.DS.
'views'.DS.'test'.DS.'tmpl'.DS.'abc.php');
?>