2017-08-20 24 views
2

大家好,我想加载shopReq.blade.php文件在master.blade.php,我成功地做到了这一点。但是当我加载modals.blade.php文件在shopReq.blade.php它不包括在内。我在这里做错了什么?请帮忙。@yield,@laction在Laravel

master.blade.php(在视图/布局):

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

shopReq.blade.php(在视图中)

@extends('layouts.master') 
@section('content') 
<h1>Hello I am in shopReq.blade.php 
@yield(content) 
@endsection 

modals.blade.php(在视图中)

@extends('shopReq') 
@section('content') 
<h1>Hello I am in modals.blade.php 
@endsection 

web.php:

Route::group(['middleware' =>['web']], function() 
    { 
    Route::get('/', function() { 
     return view('welcome'); 
    })->name('home'); 
}); 
+0

您是否收到任何错误? –

+0

@ B.Desai No.没有错误。我想'modals.blade.php'在'shopReq.blade.php'上。但我这样做没有成功。 –

+0

哪个'view'你最终打电话?在你的问题添加路线和查看调用代码。你在这种情况下添加了'welcome'视图代码,而不是实际的问题代码 –

回答

0

问题出在类似的名字。 你不能yield('content')section('content')里面,你将不得不重新命名其中一组。

因此,无论是在shopReq中更改master和section中的产量,还是更改模式中shopReq中的产量。

1

正如用户milo526所说。

您有@yield('content')两次。

对于任何刀片指令(收率部分,组件......)

如果存在括号内将被覆盖一个相同的名称。

而且我现在有现货,你没有对你的第二个产量引号 '':

@yield(content) 
2

上shopReq.blade.php与@include('modals')

modals.blade.php更换@yield(content)

<h1>Hello I am in modals.blade.php</h1> 
航线上

return view('shopReq');