Laravel:在一个blade.php文件中重复相同的HTML代码

时间:2016-09-09 09:13:36

标签: php laravel laravel-4 laravel-5

我正在使用View来显示我的创建表单很长。

在这个表单中,我使用了很多次相同的代码片段,这些代码主要是使用类名称,它看起来像这样。

<div class="row">
    <div class="col-md-6">
        <div class="form-group">
            <label>**First name:** <span class="text-danger">*</span></label>
            {{ Form::text('firstname',null,array('class' =>'form-control required','placeholder' =>'John'))}}
        </div>
    </div>
</div>

我只是想动态更改标签上的名字:和&lt; 输入&gt;

我已尝试将此代码重用于@yield和@section,但如果它在同一文件中存在的次数超过1次,则会得到与第一次相同的结果。

<!-- First Name -->
@section('form_input_wrapper_label', 'First Name:')
@section('form_input_wrapper_input_area')
    {{ Form::text('firstname',null,array('class' =>'form-control required','placeholder' =>'John'))}}
@endsection
@include('theme_components.form_input_wrapper')

<!-- Last Name -->
@section('form_input_wrapper_label', 'Last Name:')
@section('form_input_wrapper_input_area')
    {{ Form::text('lastname',null,array('class' =>'form-control required','placeholder' =>'Smith'))}}
@endsection
@include('theme_components.form_input_wrapper')

Laravel有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以使用@include指令并传递所需的变量:

@include('form.view', ['firstName' => $var])

另外,正如@Dmytrechko在评论中提到的,如果要迭代数组或集合,可以使用@each指令:

@each('form.view', $names, 'firstName')

然后将代码移至新form.view并照常使用$firstName变量:

<label>First name: <span class="text-danger">{{ $firstName }}</span></label>