在某些页面中包含菜单

时间:2015-06-19 10:45:54

标签: php yii

我正在使用YII框架,我做了以下,是我的inde.php:

enter image description here

当我点击Dosseirs时,我得到以下图像:

enter image description here

问题是在On Dossiers页面上,包含TABS dosseir / managment info / system beheer的表格也应该在所有其他页面中,所以从我点击systembeheer时的索引我也应该能够看到那里。

这是我的系统beheer: enter image description here 正如你所看到的,它不包含前面提到的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信息和系统中添加标签,每个标签都有自己的标题?

1 个答案:

答案 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));