【问题标题】:Laravel Blade Not outputting @section('content')?Laravel Blade 不输出@section('content')?
【发布时间】:2020-03-11 09:43:29
【问题描述】:

我正在使用 Laravel 6 并处理一个 Blade.php 文件。另外,我在部分代码中使用了 tailwindCss 和 tailwindUi。当我 @section('content') 没有输出任何内容并且没有在浏览器中显示时,我有一个主导航栏工作的布局文件,在其他页面上。如果我排除了@section,则代码会通过浏览器传递,但随后会将我的导航栏向下推,这并不好。希望这是一个愚蠢的错误,但如果您遇到此问题并且知道修复方法,请分享。

布局文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.0.1/dist/alpine.js" defer></script>
    <title>@yield('title')</title>
</head>

<div>
  <nav x-data="{ open: false }" @keydown.window.escape="open = false" class="bg-gray-800">
     <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
      <div class="flex items-center h-24">
       <div class="flex items-center">
          <div class="flex-shrink-0">
           <img class="h-10 w-10" src="/images/startup.svg" alt="icon" />
          </div>
          <div class="hidden md:block">
            <div class="ml-10 flex items-baseline">
              <a href="/home" class="px-3 py-2 rounded-md text-sm font-medium text-white bg-gray-900 focus:outline-none focus:text-white focus:bg-gray-700">Home</a>
              <a href="/contact" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Contact</a>
              <a href="/blog" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Blog</a>
              <a href="po" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700"></a>
              <a href="#" class="ml-4 px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700"></a>
            </div>
          </div>
        </div>
       <div class="-mr-2 flex md:hidden">
          <button @click="open = !open" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:bg-gray-700 focus:text-white">
            <svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
              <path :class="{'hidden': open, 'inline-flex': !open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
              <path :class="{'hidden': !open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
            </svg>
          </button>
        </div>
      </div>
    </div>
    <div :class="{'block': open, 'hidden': !open}" class="hidden md:hidden">
      <div class="px-2 pt-2 pb-3 sm:px-3">
        <a href="/home" class="block px-3 py-2 rounded-md text-base font-medium text-white bg-gray-900 focus:outline-none focus:text-white focus:bg-gray-700">Home</a>
        <a href="/contact" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Contact</a>
        <a href="/blog" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700">Blog</a>
        <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700"></a>
        <a href="#" class="mt-1 block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-white hover:bg-gray-700 focus:outline-none focus:text-white focus:bg-gray-700"></a>
      </div>
      <div class="pt-4 pb-3 border-t border-gray-700">
        <div class="flex items-center px-5">
          <div class="flex-shrink-0">
            <img class="h-10 w-10 rounded-full" src="/images/0.jpeg" alt="My Picture" />
          </div>
          <div class="ml-3">
            <div class="text-base font-medium leading-none text-white">Paolo Trulli</div>
            <div class="mt-1 text-sm font-medium leading-none text-gray-400">paolo.g.trulli@gmail.com</div>
          </div>
        </div>

索引文件(博客)

@extends('layout')
@section('title', 'Blog')

@section('content')
<div class='blog-form'>
<h1>My Blog</h1>
<h3>A place where I create posts on random things that interest me</h3>


<form action="/blog" method="post">
    <input type="text" name="title" autocomplete="off">

    @csrf 

    <button>Add Blog Post</button>
    </form>

    <p style="color: red">@error('title') {{ $message }} @enderror</p>

    <ul>
        @forelse ($blogs as $blog)
            <li>{{ $blog->title }}</li>
        @empty
            <li><h3>No Blog Posts Yet</h3></li>
        @endforelse
    </ul>
    </div>
    @endsection

家庭控制器


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function index()
    {
        return view ('/home');
    }

    public function about()
    {
        return view ('/about');
    }

    public function contact()
    {
        return view ('/contact');
    }

}

网络路线

use App\Mail\WelcomeMail;

Route::get('/email', function() {
    return new WelcomeMail();
});

Route::get('/home', 'HomeController@index');
Route::get('/about', 'HomeController@about');
Route::get('/contact', 'HomeController@contact');

Route::get('/blog', 'BlogController@index');
Route::post('/blog', 'BlogController@store');

Route::get('/subscribers', 'SubscriberController@index');
Route::get('/subscribers/create', 'SubscriberController@create');
Route::post('/subscribers', 'SubscriberController@store');
Route::get('/subscribers/{subscriber}', 'SubscriberController@show');
Route::get('/subscribers/{subscriber}/edit', 'SubscriberController@edit');
Route::put('/subscribers/{subscriber}', 'SubscriberController@update');
Route::delete('/subscribers/{subscriber}', 'SubscriberController@destroy');

【问题讨论】:

    标签: laravel laravel-blade


    【解决方案1】:

    您需要在布局文件中使用@yield('content')

    Layout.blade.php

    <html>
        <body>
    
                <nav>
                </nav>
                @yield('content')
    
        </body>
    </html>
    

    现在您可以在extened 文件中使用@section('content')

    index.blade.php

    @extends('layout')
    @section('content')
        <div class="">
           ...
           ...
        </div>
    @endsection
    

    【讨论】:

    • 谢谢!问题,现在它正在传递内容,它将我的导航栏推到它下面。知道如何使导航栏永久保持在顶部吗?
    • 在导航关闭后输入您的@yield('content')。检查编辑的答案你会明白的:)
    猜你喜欢
    • 2018-04-25
    • 2016-05-19
    • 2017-05-16
    • 2019-06-26
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2020-06-26
    相关资源
    最近更新 更多