使用独立的app.blade在laravel中设置页面

时间:2019-11-07 18:13:39

标签: php html laravel laravel-blade

我在应用程序中设置了9个页面,访问受限(需要登录)。这些页面不能使用默认的app.blade.php,因为它们的面板与默认面板不同。我在页面所在的位置创建了一个布局文件夹,但是laravel使用了两个app.blade.php而不是我所需要的那个,它最终损坏了这些页面的面板,因为它们都使用相同的CSS。

我只需要使用该文件夹中的app.blade.php

我试图这样隐藏另一个面板:.not-as-home {display: none;},但由于另一个app.blade.php仍在加载中,因此仍然破坏了另一个面板

两个app.blade.php文件具有相同的内容,不同之处在于加载面板html的auth.blade.phpsidebar.blade.php视图的内容,一个加载顶部菜单,另一个加载侧边栏。

索引:@extends('company.clients.layouts.app')

app.blade.php(2)

<html>
    <head>
        <meta charset="utf-8">
        <meta name="csrf-token" content="{{ csrf_token() }}">
        @stack('seo') 
        @stack('styles')
    </head>
    <body>
        @auth()
            <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                @csrf
            </form>
            @include('company.clients.layouts.navbars.sidebar')
        @endauth

        <div class ="main-content">
            @include('company.clients.layouts.navbars.navbar')
            @yield('content')
        </div>

        @guest()
            @include('company.clients.layouts.footers.guest')
        @endguest

        @stack('js')
    </body>
</html>

就是这样,代码不仅仅包含单词,我需要显示company.clients.layouts.navbar.auth.blade.php而不是layouts.navbar.auth.blade.php的内容。

1 个答案:

答案 0 :(得分:0)

创建具有不同类型用户的系统的解决方案是创建2个单独的文件夹,其中每个文件夹都有其app.blade.php,另一种选择是在页面视图中包含sidbar和navbar。

您可以这样做:

app.blade.php

<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body>
    <div id="app">
            @yield('nav')
            @yield('content')
            @yield('footer')
    </div>
</body>
</html>