簡體   English   中英

Laravel Blade渲染里面的內容

[英]Laravel Blade rendering <head> contents inside <body>

我在這里需要一點幫助...

當我嘗試在 Blade 中渲染一個簡單的模板時,我得到了錯誤的渲染 html。

我在views.admin目錄中有master.blade.phphome.blade.php

<!-- master.blade.php -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8"/>
  <title>Test Title</title>
</head>
<body>
  Content
</body>
</html>

<!-- home.blade.php -->
@extends('admin.master')

當我調用return view("admin.home");時渲染的 HTML 看起來像這樣:

<html lang="en">
<head></head>
<body>
<meta charset="utf-8">
<title>Test Title</title>
Content
</body></html>

對正在發生的事情有任何想法嗎?

謝謝。

在決定制作一個新的laravel應用程序以粘貼新文件直到修復之前,我只花了一個小時的時間來解決這個問題。 事實證明,我的問題是因為在我的配置文件之一中插入了一個隨機字符(可能是在嘗試意識到自己的瀏覽器不是活動窗口之前輸入url時)。 因此,如果在修復刀片模板后似乎無法弄清為什么它無法正常工作,請進行檢查。

對我來說,這是由添加;引起的。 到@extends('layouts.app')的結尾

通常出現“ &#65279; ”字符的情況是,它是通過使用非UTF-8編碼的文本編輯器引入的,或者是以不同的方式引入的。 我的建議是使用Sublime TextNotepad ++之類的東西來創建這三個文檔的新版本。 這通常是由於復制/粘貼未實現而導致的,或者使用的文本編輯器具有您看不到的“額外格式”(例如Word)。 字符是零寬度無間斷空格(您可以在此處查看更多信息)。 因此,這不是Laravel Blade的問題,而是您使用的任何文本編輯器都引入了多余的空白字符。

我知道線程很舊,但是今天我遇到了這個問題,刪除BOM可以幫助我修復它。 一個提示-如果您使用的是PHPStorm,則可以選擇刪除BOM,而無需復制文件並將其保存在另一個文件編輯器中。 只需右鍵單擊該文件,然后按“刪除BOM”。 像魅力一樣工作!

我知道這是一個老問題,但為了像我一樣遇到同樣問題並來到此頁面的人,我想分享解決我問題的方法。

正如你可能在laravel 的布局文檔中發現的那樣,聲明主模板應該像這樣使用

@extends('layouts.master')
 
@section('title', 'Page Title')

@section('sidebar')
    @@parent
 
    <p>This is appended to the master sidebar.</p>
@stop
 
@section('content')
    <p>This is my body content.</p>
@stop 

通過在@section('content')末尾添加@stop解決了我的問題。 我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM