Laravel 刀片模板扩展了两种不同的布局

Posted

技术标签:

【中文标题】Laravel 刀片模板扩展了两种不同的布局【英文标题】:Laravel blade template extending two different layouts 【发布时间】:2017-02-22 14:43:03 【问题描述】:

我有两个几乎相同的模板。这是邮件模板,但它应该在两个不同的地方。所以他们扩展了两个不同的模板,但是这个和节名是唯一的区别。

示例如下:

@extends('layout.client')
    //sections etc
@section('content')
    //content here
@endsection
    //other sections etc

这是第二个模板:

@extends('layout.company')
    //sections etc
@section('contentinner')
    //content here
@endsection
    //other sections etc

其他部分大多是导入库以使内容正常工作。

我应该如何处理才能不重复代码?

【问题讨论】:

【参考方案1】:

创建另一个模板并包含在您的部分中

<div class="col-md-3">
  @include('layouts.your_template')
</div>

【讨论】:

【参考方案2】:

我使用components 解决了类似的问题。

我发现有一个主布局很好,但如果你有部分代码需要包含在许多页面中,最好使用组件。 This 提供了一个很好的组件使用示例。

将您的模板放入components.yourtemplate.blade.php

然后在layout.clientlayout.company 中放入

@component('components.yourtemplate')
@endcomponent

您希望包含模板代码的位置。您可以在多个视图中包含相同的组件。

【讨论】:

以上是关于Laravel 刀片模板扩展了两种不同的布局的主要内容,如果未能解决你的问题,请参考以下文章

使用刀片布局来扩展模板

Laravel vue 有两种不同的布局

Laravel Blade:@extend 一个(已经扩展的)子刀片?

laravel 刀片模板中的覆盖部分抛出未定义的变量错误

是否可以在 Laravel (4) 刀片模板中获取视图/布局名称

Laravel 无法扩展默认刀片模板