2017-03-25 1 views
0

J'ai un menu comme celui-ci

<?php 
NavBar::begin([ 
    'brandLabel' => Html::img('@web/images/cennos1.png', ['alt'=>Yii::$app->name]), 
    'brandUrl' => Yii::$app->homeUrl, 
    'brandOptions' => ['style' => 'margin-top:-7px;'], 
    'options' => [ 
     'class' => 'navbar-inverse navbar-fixed-top', 
    ], 
]); 
$menuItems = []; 
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']]; 
$menuItems[] = [ 
        'label' => 'Teams', 
        'items' => [   
         foreach ($teams as $team) { 
         ['label' => '' . $team->name .'', 'url' => ['team/preview','id' => $team->id]], 
         } 
        ], 
       ]; 

J'ai essayé d'utiliser la boucle foreach comme pour répertorier toutes les équipes comme un menu déroulant pour les utilisateurs invités à voir, mais cela n'a pas fonctionné. S'il vous plaît aidez-moi avec ceci. Désolé pour mon mauvais anglais. Merci.

Répondre

0

Ce n'est peut-être pas le meilleur moyen, mais cela fonctionne pour moi.

function items($teams) 
    { 
     $items = []; 
     foreach ($teams as $team) { 
      array_push($items, ['label' => '' . $team->name .'', 'url' => Url::to(['team/preview', 'id' => $team->id])]); 
     } 
     return $items; 
    } 

NavBar::begin([ 
    'brandLabel' => Html::img('@web/images/cennos1.png', ['alt'=>Yii::$app->name]), 
    'brandUrl' => Yii::$app->homeUrl, 
    'brandOptions' => ['style' => 'margin-top:-7px;'], 
    'options' => [ 
     'class' => 'navbar-inverse navbar-fixed-top', 
    ], 
]); 
$menuItems = []; 
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']]; 
$menuItems[] = [ 
        'label' => 'Teams', 
        'items' => items($teams) 
       ]; 

Hope it helps,

+0

Merci. Ça marche :) –