2017-05-25 99 views
2

我在Laravel有两个主要的看法。Laravel 5.4 - @extends不工作

都称之为如下,在web.php:

Route::get('/characters', '[email protected]'); 
Route::get('/characters/{char_id}', '[email protected]'); 

这里是他们在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

谢谢!

+1

'dd()'停止任何进一步的执行。这是_die_的一部分。布局不呈现,因为你还没有允许它渲染。 'dd()'**真的**你想在这里?你想通过它完成什么? – Kaspars

+0

@ Kaspars它不是。我只用它来测试变量是否正确传入。 我已经删除了,我现在得到了“@extends”内容,但由于某种原因它没有渲染任何CSS。我会编辑我的问题来反映这一点。 –

+0

发布您的'layouts.master'文件。 – Kaspars

回答

1

在你master.blade.php布局,资产从相对URL

因此,举例来说,如果你的资产从assets/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错误。 (在Chrome F12)

两个解决办法:用像这样/assets/css/bootstrap.min.css斜杠

  • 前缀您的资产路径。
  • laravel特定的解决方案是使用资产帮手功能{{ asset('assets/css/bootstrap.min.css') }}
+0

现在我所有漂亮的CSS都回来了。非常感谢Kaspars! –

0

首先发布你的布局代码。

第二次确保你打电话给你的CSS使用帮手asset例如。

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

当然,我已经将布局代码添加到了末尾的粘贴框中。我会尝试以这种方式调用CSS。 –