使HTML模板集中化

时间:2018-12-11 21:10:08

标签: laravel-5.6 laravel-5.7

在所有形式下,刀片中都包含以下代码。

<div class="col-sm-6 col-md-6">
    <div class="form-group">
        <label class="control-label">Price</label>
        <input name="Price" type="number" class="form-control">
    </div>
</div>

我知道,通过使用 laravelcollective ,可以像下面那样处理上面的输入类型文本。

Form::number('Price', '');

是否有什么方法可以使其集中化,从而避免为每个字段一次又一次地编写此代码,从而不必每次为每个数据库字段编写整个模板(html部分上方6行)?

1 个答案:

答案 0 :(得分:0)

为什么不这样:

步骤1:创建一个名为partials的文件夹

第2步:在局部文件夹中创建_form_field.blade.php

第3步:将以下代码复制并粘贴到新创建的文件中

<div class="col-sm-6 col-md-6">
    <div class="form-group">
        <label class="control-label">{{ $labelName }}</label>
        <input name="{{ $input['name'] }}" type="{{ $input['type'] }}" class="{{ $input['class'] }}" />
    </div>
</div>

现在,您可以使用此文件并将其包含在视图中的任何位置。像这样:

home.blade.php

@extends('your_main_layout_file_here')

@section('content')

    <form action="{{ route('yourPostRoute') }}" method="POST">
        @csrf

        @include('partials._form_field', [
            'labelName' => 'Price',
            'input'     => [
                'type'  => 'number',
                'name'  => 'Price',
                'class' => 'form-control'
            ]
        ])
    </form>

@endsection

希望这对您有所帮助。