我使用 joomla MVC,我想构建一个具有不同选项卡的表单,这些选项卡是表单的不同部分,其中包含输入。我需要包含一些与其他表单通用的选项卡。
我希望能够从单独的文件或视图加载此常见内容,这样我就没有重复的代码,而且当我需要对表单进行更改时更容易,这样我就不必在所有表单中进行更改。这就像在另一个视图中显示一个视图。
有办法做到这一点吗?
一个 Joomla!提供了loadTemplate
方法到视图。
因此,如果您目前处于tmpl
加载布局文件edit
(ie. tmpl/edit.php
)你可以打电话$this->loadTemplate('tab1');
和乔姆拉!将加载tmpl/edit_tab1.php
文件与您的文件处于同一视图中edit.php
.
在同一视图中,如果您想包括说tmpl/other_tab1.php
您必须暂时将布局设置为other,例如。在我们的一个组件中Run模板我们需要一个选项卡Edit模板,所以我们使用:
<?php $this->setLayout('edit'); // This is ugly
echo $this->loadTemplate('plan');
$this->setLayout('run'); ?>
要从另一个视图加载模板,我认为您必须暂时覆盖view
值,加载模板然后恢复视图。例如。
$jinput = JFactory::getApplication()->input;
$jinput->set('view', 'other');
$this->loadTemplate('tab2');
$jinput->set('view', 'original');
注意:最后一点我还没有时间测试,但它应该可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)