Laravel - 如何使用新URL加载内容

时间:2016-06-23 07:21:08

标签: php laravel routes

我继承了一个Laravel项目,我需要添加一个新页面,其中包含我创建的一些功能。我所拥有的似乎是一个主要的“app.blade.php”文件,其中包含一些始终可见的内容..如侧边栏,登录身份验证等等。

现在添加东西没问题。但我想要的是一个单独的.php文件,当我转到某个URL时,该文件被加载到app.blade.php的主要内容区域中,我们称之为“mypage.com/newpage”。 (基本上,我希望侧边栏中有一个链接来加载这个新内容。)

所以我的自定义内容应该出现在主要内容区域中,但标准侧边栏等应该仍然存在。我猜它是路线的东西,但是...我该怎么办?我编辑哪些文件?我要添加什么?我已经准备好了新的HTML和Javascript代码 - 我只需要以正确的方式将它添加到Laravel项目中。

2 个答案:

答案 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