我在使用Laravel Framework 5.4.36(在Visual Studio代码上)时遇到问题。我正在尝试构建一个简单的布局,但无论我尝试了多少我在浏览器上遇到同样的错误:
未找到查看[layouts.app]。 (查看:C:\ wamp64 \ www \ lsapp \ resources \ views \ pages \ services.blade.php)
正如你所看到的那样(照片如下),文件在正确的路径中是不同的。
这是我的布局app.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>{{config('app.name','LSAPP')}}</title>
</head>
<body>
@yield('content')
</body>
这是来自services.blade.php的代码
@extends('layouts.app')
@section('content')
<h1>services</h1>
<p>This is the services page</p>
@endsection
我还安装了Laravel Blade Snippets v 1.13.0(1.14.1给了我另一个问题)。
我试图将名称和路径更改为布局文件和extends参数。任何想法为什么这不起作用?
非常感谢您的帮助..!
答案 0 :(得分:7)
您必须引用相对于resources/views
目录的刀片模板。根据截图,您的目录结构是:
resources
↳views
↳pages
↳layouts
app.blade.php
因此,app.blade.php
布局可用pages.layouts.app
:
@extends('pages.layouts.app')
答案 1 :(得分:1)
更改
@extends('layouts.app')
要
@extends('pages.layouts.app')
答案 2 :(得分:0)
问题是您将“布局”文件夹放在“页面”中,实际上,它应该仅在视图内部。
目录结构应为:
-视图 布局 -页面
答案 3 :(得分:0)
只是对上述答案的补充。因为在某些情况下,这些答案可能无法解决您的问题(主要是当您不在本地服务器上并且在线时)。
请记住,命名空间区分大小写(尤其是在直播时)。因此,当在 layouts 文件夹中创建文件的扩展名时,如下所列的 service.blade.php
文件所示:
@extends('layouts.app')
@section('content')
<h1>services</h1>
<p>This is the services page</p>
@endsection
请确保 layouts 文件夹的字母大小写与您要引用它的任何地方的拼写完全相同。
例如:
如果您的布局文件夹是使用名称标签 Layouts
创建的,并且您尝试以 service.blade.php
而不是 layouts.app
的身份访问 Layouts.app
文件中的此文件夹,那么肯定会有一个错误。
答案 4 :(得分:-2)
我也遇到了这个问题,在我发现一个错误之后我尝试修复它,而且它非常小:) ...只需检查您的布局文件夹拼写。在刀片文件“@extends('layouts.app')”中写成“layouts”,我们在视图名称中创建一个文件夹作为布局。