Laravel对不同文件夹中的分隔布局使用yield

时间:2017-10-03 08:50:07

标签: php laravel laravel-5

resources文件夹和layouts/backend/中,我有main.blade.php个文件作为主模板,partials文件夹包含sidebar,{{{{}}等文件1}}等等,例如:

/layouts/backend/main.blade.php:

footer

/layouts/backend/partials/footer.blade.php:

<!doctype html>
<html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>
    </head>
    <body>
           <!-- Footer -->
           @yield('partials.footer')
           <!-- /footer -->
    </body>
</html>
保存和刷新页面后

我在页面上没有@extends('layouts.backend') @section('footer') <div class="footer text-muted">Hello</div> @endsection

2 个答案:

答案 0 :(得分:1)

看一下Docs,关于Blade的部分非常好。

我认为这里存在一些逻辑问题。如果您想要在后端/主模板中包含页脚,则无需在页脚中扩展布局,只需将其包含在主模板中即可。这是一个例子:

<强>布局/后端/ main.blade.php:

<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Laravel</title>
</head>
<body>
    @yield('main')

    <!-- Footer -->
    @include('layouts.backend.partials.footer')
    <!-- /footer -->
</body>
</html>

<强>布局/后端/分音/ footer.blade.php:

<div class="footer text-muted">Hello</div>

此外,您可能想要查看您的文件夹组织,也许您可​​以使用类似的东西

views/layouts/backend.blade.php  
views/layouts/frontend.blade.php  
views/layouts/backend/footer.blade.php  
views/layouts/backend/header.blade.php  

这只是一个想法,当然你可以根据自己的喜好进行文件夹组织。

答案 1 :(得分:-1)

改变它:

@yield('partials.footer')

为:

@yield('footer')

也改变了:

@extends('layouts.backend')

为:

@extends('layouts.backend.main')