Прикрутить к Laravel accordion

152
23 марта 2019, 13:50

Ребята прошу вашей помощи. Нужно прикрутить аккордеон. В backend сделал а на frontend не получается. Как результат проходит только по первому пункту меню. по второму(третьему) пункту тоже проходит, но детей уже не выдаёт. Вроде все работает может просто не хватает класса...

1) обычный html

<div class="panel panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordian" href="#sportswear">
                <span class="badge pull-right"><i class="fa fa-plus"></i></span>
                Sportswear
            </a>
        </h4>
    </div>
    <div id="sportswear" class="panel-collapse collapse">
        <div class="panel-body">
            <ul>
                <li><a href="#">Nike </a></li>
                <li><a href="#">Under Armour </a></li>
                <li><a href="#">Adidas </a></li>
                <li><a href="#">Puma</a></li>
                <li><a href="#">ASICS </a></li>
            </ul>
        </div>
    </div>
</div>

<div class="panel panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordian" href="#womens">
                <span class="badge pull-right"><i class="fa fa-plus"></i></span>
                Womens
            </a>
        </h4>
    </div>
    <div id="womens" class="panel-collapse collapse">
        <div class="panel-body">
            <ul>
                <li><a href="#">Fendi</a></li>
                <li><a href="#">Guess</a></li>
                <li><a href="#">Valentino</a></li>
                <li><a href="#">Dior</a></li>
                <li><a href="#">Versace</a></li>
            </ul>
        </div>
    </div>
</div>
<div class="panel panel-default">
    <div class="panel-heading">
        <h4 class="panel-title"><a href="#">Kids</a></h4>
    </div>
</div>

2) include в шаблон код меню

 <h2>Категории</h2>
                        <div class="panel-group category-products" id="accordian">
                            @include('partials._nav')
                        </div>

3) код меню с рекурсией, для вывода вложенных: _nav.blade.php

@foreach($categories as $category)
    @if($category->children->count() )
        <!-- дети-->
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">
                    <a data-toggle="collapse" data-parent="#accordian" href="#womens">
                        <span class="badge pull-right"><i class="fa fa-plus"></i></span>
                        {{ $category->title ?? ''}}
                    </a>
                </h4>
            </div>
            <div id="womens" class="panel-collapse collapse">
                <div class="panel-body">
                    <ul>
                        <li>
                            <!-- рекурсия-->
                            @include('partials._nav',['categories' => $category->children, 'is_child' => true])
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    @else
        @isset($is_child)
            <!-- дети детей.. -->
            <li><a href="#">{{ $category->title ?? ''}}</a></li>
            @continue
        @endisset
        <!-- родительские-->
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title"><a href="#">{{ $category->title ?? ''}}</a></h4>
            </div>
        </div>
    @endif
@endforeach
Answer 1

всё элементарно - нужно тоже было указать в foreach на: data-parent

    <!-- дети-->
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordian" href="#{{$category->id}}">
                    <span class="badge pull-right"><i class="fa fa-plus"></i></span>
                    {{ $category->title ?? ''}}
                </a>
            </h4>
        </div>
        <div id="{{$category->id}}" class="panel-collapse collapse">
            <div class="panel-body">
                <ul>
                    <li>
                        <!-- рекурсия-->
                        @include('partials._nav',['categories' => $category->children, 'is_child' => true])
                    </li>
                </ul>
            </div>
        </div>
    </div>
READ ALSO
Отправить html письмо

Отправить html письмо

Я отправляю html письмо с картинкой

153
Динамическая подгрузка модулей

Динамическая подгрузка модулей

Вообщем есть 4 сервиса, у каждого сервиса свое ядро свой конфиг свое пространство имен и есть апи который принимает запрос и проверяет состояние...

141
PHP array и дерево

PHP array и дерево

у меня есть база с подобным набором данных

126
Изменить подстроку в строке с помощью регулярного выражения

Изменить подстроку в строке с помощью регулярного выражения

Есть такая строка [mod]тут может быть что угодно[/mod], она находится в неком тексте ( строке ), нужно средствами php заменить выше приведенную строку...

139