[英]Laravel 5.4 - @extends not working
我在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
它与/字符使用的视图相同,除了内容部分中的内容。
这是“master.blade.php”: https ://pastebin.com/kjnxc0ms
谢谢!
在master.blade.php
布局中,资产是从相对URL加载的
因此,例如,如果您的资产是从assets/css/bootstrap.min.css
加载的,而您当前的url是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
这样的正斜杠为您的资产路径添加前缀。 {{ asset('assets/css/bootstrap.min.css') }}
。 首先发布您的布局代码。
第二,确保你使用助手asset
呼叫你的CSS,例如。
{{ URL::asset('css/style.css'); }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.