繁体   English   中英

Laravel 5.4 - @extends无效

[英]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这样的正斜杠为您的资产路径添加前缀。
  • 特定于laravel的解决方案是使用资产助手函数{{ asset('assets/css/bootstrap.min.css') }}

首先发布您的布局代码。

第二,确保你使用助手asset呼叫你的CSS,例如。

{{ URL::asset('css/style.css'); }} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM