2017-06-26 19 views
1

我有一個yii2應用一個簡單的子菜單,這是我的佈局/ main.php圖的一部分:請使用HTML,PHP

<?php 
/* @var $this \yii\web\View */ 
/* @var $content string */  
... 
<body> 
<?php $this->beginBody() ?> 
<div class="wrap"> 
    <?php 
    NavBar::begin([ 
     'brandLabel' => Yii::t('app', Yii::$app->name), 
     'brandUrl' => Yii::$app->homeUrl, 
     'options' => [ 
      'class' => 'navbar-default navbar-fixed-top', 
     ], 
    ]); 

    // everyone can see Home page 
    $menuItems[] = ['label' => Yii::t('app', 'Home'), 'url' => ['/index.php/']]; 

    // we do not need to display About and Contact pages to employee+ roles 
    if (!Yii::$app->user->can('employee')) { 
     //$menuItems[] = ['label' => Yii::t('app', 'About'), 'url' => ['/site/about']]; 
     $menuItems[] = ['label' => Yii::t('app', 'Contact'), 'url' => ['/site/contact']]; 
    } 

    // display Users to admin+ roles 
    if (Yii::$app->user->can('admin')){ 
     $menuItems[] = ['label' => Yii::t('app', 'Users'), 'url' => ['/user/index']]; 
    } 

    // display Logout to logged in users 
    if (!Yii::$app->user->isGuest) { 
     //add items, rooms etc. to menu for logged in users 
     $menuItems[] = ['label' => Yii::t('app', 'Personnel'), 'url' => ['/person/index']]; 
     $menuItems[] = ['label' => Yii::t('app', 'Items'), 'url' => ['/item/index']]; 
     $menuItems[] = ['label' => Yii::t('app', 'Locations'), 'url' => ['/location/index/']]; 
     $menuItems[] = ['label' => Yii::t('app', 'Buildings'), 'url' => ['/building/index/']]; 
     $menuItems[] = ['label' => Yii::t('app', 'Rooms'), 'url' => ['/room/index/']]; 
     $menuItems[] = [ 
      'label' => Yii::t('app', 'Logout'). ' (' . Yii::$app->user->identity->username . ')', 
      'url' => ['/site/logout'], 
      'linkOptions' => ['data-method' => 'post'] 
     ]; 
    } 

    // display Signup and Login pages to guests of the site 
    if (Yii::$app->user->isGuest) { 
     $menuItems[] = ['label' => Yii::t('app', 'Signup'), 'url' => ['/site/signup']]; 
     $menuItems[] = ['label' => Yii::t('app', 'Login'), 'url' => ['/site/login']]; 
    } 

    echo Nav::widget([ 
     'options' => ['class' => 'navbar-nav navbar-right'], 
     'items' => $menuItems, 
    ]); 

    NavBar::end(); 
    ?> 

正如你所看到的,我有位置房間在我的菜單中。不過,我想只有位置在主菜單中,並位置的子菜單建設。有沒有簡單的方法來做到這一點?

回答

1

我不知道你的子菜單到底是什麼,如果你只想要生成一個下拉列表,您可以

// display Logout to logged in users 
if (!Yii::$app->user->isGuest) { 
    //add items, rooms etc. to menu for logged in users 
    $menuItems[] = [ 
     'label' => Yii::t('app', 'Locations'), 
     'url' => ['/location/index/'], 
     'items' => [ 
      ['label' => Yii::t('app', 'Personnel'), 'url' => ['/person/index']], 
      ['label' => Yii::t('app', 'Items'), 'url' => ['/item/index']], 
      ['label' => Yii::t('app', 'Buildings'), 'url' => ['/building/index/']], 
      ['label' => Yii::t('app', 'Rooms'), 'url' => ['/room/index/']], 
      [ 
       'label' => Yii::t('app', 'Logout'). ' (' . Yii::$app->user->identity->username . ')', 
       'url' => ['/site/logout'], 
       'linkOptions' => ['data-method' => 'post'] 
      ], 
     ], 
    ]; 
} 
+0

謝謝你,這就是我想要的! :) – Eutherpy