我正在使用YII框架,我做了以下,是我的inde.php:
当我点击Dosseirs时,我得到以下图像:
问题是在On Dossiers页面上,包含TABS dosseir / managment info / system beheer的表格也应该在所有其他页面中,所以从我点击systembeheer时的索引我也应该能够看到那里。
这是我的系统beheer: 正如你所看到的,它不包含前面提到的TABS。我可以去系统beheer页面,我可以在那里粘贴TABS的代码,我可以看到TABS,但它没有相关性,因为我应该只能使用一次代码并在所有页面中查看结果。
这就是我想要的,我希望TABS在index.php中取代,而不是带有3个选项的列表。然后,当我点击dosseirs时,它应该将页面的标题更改为dosseirs,当我点击管理信息时,它应该将标题更改为,最后当我点击systembeheer时,我应该能够看到标题更改为systembeheer和它应该像往常一样包含标签,但在系统内部标签中应该有5个不同名称的标签,就像我们正在使用的TABS一样。
这就是我的方法:
在我的private \ protected \ views \ layouts中我有一个main.php 在我的私人\ protected \ views \ layouts \ includes我有页脚/标题/菜单.php
在我的main.php里面我有:
<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>
</div><!-- mainmenu -->
这是我的TABS代码:
<?php
$tab1=$this->renderPartial('_tab1', NULL, $return=true);
$this->widget('zii.widgets.jui.CJuiTabs',array(
'tabs'=>array(
'Dossier'=>array('content'=>$tab1, 'id'=>'form'),
'Managment Info'=>array('content'=>'Content for tab 2', 'id'=>'tab2'),
'Systeem Beheer'=> 'Content for tab 3'
// panel 3 contains the content rendered by a partial view
),
// additional javascript options for the tabs plugin
'options'=>array(
'collapsible'=>true,
)));
?>
如何在Dosseir / Managment信息和系统中添加标签,每个标签都有自己的标题?
答案 0 :(得分:0)
creata是TABS的单独页面,并在其他页面上部分呈现。
的 tabs.php 强>
<?php
$tab1=$this->renderPartial('_tab1', NULL, $return=true);
$this->widget('zii.widgets.jui.CJuiTabs',array(
'tabs'=>array(
'Dossier'=>array('content'=>$tab1, 'id'=>'form'),
'Managment Info'=>array('content'=>'Content for tab 2', 'id'=>'tab2'),
'Systeem Beheer'=> 'Content for tab 3'
// panel 3 contains the content rendered by a partial view
),
// additional javascript options for the tabs plugin
'options'=>array(
'collapsible'=>true,
)));
?>
Dosseirs.php
///This is my Dosseirs page
<?php
$this->renderPartial('tabs'); //this will render tabs.php
?>
SystemDesser.php
//this is my SystemDesse page
<?php
$this->renderPartial('tabs'); //this will render tabs.php
?>
如果你想用每个页面的不同数据渲染tabs.php,你可以传递一个额外的参数,如下所示,在tabs.php中的if语句中使用该参数
$this->renderPartial('tabs', array('myParam'=>$foo));