我继承了一个Laravel项目,我需要添加一个新页面,其中包含我创建的一些功能。我所拥有的似乎是一个主要的“app.blade.php”文件,其中包含一些始终可见的内容..如侧边栏,登录身份验证等等。
现在添加东西没问题。但我想要的是一个单独的.php文件,当我转到某个URL时,该文件被加载到app.blade.php的主要内容区域中,我们称之为“mypage.com/newpage”。 (基本上,我希望侧边栏中有一个链接来加载这个新内容。)
所以我的自定义内容应该出现在主要内容区域中,但标准侧边栏等应该仍然存在。我猜它是路线的东西,但是...我该怎么办?我编辑哪些文件?我要添加什么?我已经准备好了新的HTML和Javascript代码 - 我只需要以正确的方式将它添加到Laravel项目中。
答案 0 :(得分:4)
假设,下面的代码是您要继承的app.blade.php文件。
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
并且您想在此处加载app.blade.php文件。您需要扩展页面并声明这样的部分。
@extends('app')
@section('title', 'Page Title')
@section('sidebar')
@parent
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection
Extending a layout on laravel这可能会对您有所帮助。
答案 1 :(得分:0)
您正在寻找的是模板继承。您创建一个用作主布局的布局模板,并且您的页面继承该主布局模板。请参阅Laravel Blade文档:https://laravel.com/docs/5.2/blade#template-inheritance