PHP-Laravel 5.4-@extends无法正常工作
作者:互联网
我在Laravel中有两个主要观点.
两者在web.php中的调用如下:
Route::get('/characters', 'CharacterController@index');
Route::get('/characters/{char_id}', 'CharacterController@viewCharacter');
这是他们在CharacterController中的功能:
/字符:
public function index()
{
$characters = Character::userChars();
return view('pages.characters', compact('characters') );
}
字符/ {char_id}:
public function viewCharacter ($char_id)
{
$character = \DB::table('characters')->where('char_id', $char_id)->first();
return view('pages.view-character', compact('character') );
}
/字符工作正常.
它用
@extends('layouts.master')
@section('content')
@endsection
所有内容加载正常,并且显示CSS.
但是,字符/ {char_id}拒绝正常工作.
它显示@extends中的内容,但根本不会呈现CSS.
这是字符/ {char_id}的刀片模板:
@extends('layouts.master')
@section('content')
<div id="page-wrapper">
<div class="container-fluid">
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Template <small>Template Page</small>
</h1>
<ol class="breadcrumb">
<li class="active">
<i class="fa fa-dashboard"></i> Template 1
</li>
</ol>
</div>
</div>
</div>
</div>
@endsection
除了内容部分中的内容外,它与/ characters使用的视图相同.
这是“ master.blade.php”:
https://pastebin.com/kjnxc0ms
谢谢!
解决方法:
在您的master.blade.php布局中,资产是从相对网址加载的
因此,例如,如果您的资产是从asset / css / bootstrap.min.css加载的,而您当前的网址是example.com/character,则您的资产将从example.com/assets/css/bootstrap.min.css加载.到目前为止看起来还不错
但是,如果您的网址是example.com/characters/potato,则将从example.com/characters/assets/css/bootstrap.min.css加载资产.这很容易从浏览器控制台中识别出来,因为加载资产时会显示404错误. (镀铬的F12)
两种解决方案:
>在/assets/css/bootstrap.min.css之类的正斜杠前面添加资产路径.
> laravel特定的解决方案是使用资产帮助器功能{{asset(‘assets / css / bootstrap.min.css’)}}.
标签:laravel-5-4,laravel-5,php 来源: https://codeday.me/bug/20191111/2019157.html