Bonjour,

Voila je rencontre un petit technique avec bootstrap et blade.

Ce que je fais

Dans ce cas j'ai un array renvoyé à la vue qui regroupe tout mon menu sous la forme


[
  'id' => 1,
  'description' => 'Une description',
],
[
    'id' => 2,
    'description' => ' Une deuxième description',
    'children' => [
        'id' => 3,
        'description' => 'Un sous menu',
          'children' => [
            'id' => 4,
            'description' => 'Un sous du sous menu'
          ]
    ]
]

Jusque là pas de reel soucis,

Lorsque j'accède à ma vue qui gère le menu j'ai cela:


<div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">NavBar</a>
        </div>
        <div class="collapse navbar-collapse">

        <ul class="nav navbar-nav">
            @each('espacepc::partials.menu-item', $menus, 'menu')

        </ul>

        </div><!--/.nav-collapse -->
    </div>
</div>

Dans mon partial:


@if (isset($menu['children']))
    <li><a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ $menu['description'] }} <b><i class="caret"></i></b>   </a>
        <ul class="dropdown-menu">

            @foreach($menu['children'] as $menu)
                @include('espacepc::partials.menu-item', $menu)
            @endforeach

        </ul>
    </li>
@else
    <li><a href="#">{{$menu['description']}}</a></li>

@endif

Ce que je veux

Pouvoir activer l'effet dropdown sur le sous menu du sous menu

Ce que j'obtiens

Lorsque je clique sur le sous menu du sous menu le menu principale se ferme et n'agit donc pas comme convenus

Merci pour d'avance.

3 réponses


keulu
Réponse acceptée

ah mais attend... les dropdown ne sont pas concues pour fonctionner à plusieurs niveau comme ca...

regarde plutot du coté du component navbar

regarde sur wrapbootstrap le code source d'un theme d'admin ou il y a plusieurs niveau de menu. tu comprendras surement pk. eux ils override bootstrap pour certainement d'autre gestionnaire de menu.

la comme ca, je dirai que c'est bootstrap qui pose souci. ca me semble correcte ton code.

regarde dans ta console si t'as pas un souci

Salut, tout d'abord, merci pour ta réponse, en effet j'ai jeter un oeil sur les template admin etc et j'y ai trouvé mon bonheur, je te remerci de m'avoir donner une piste. A bientôt