如何在laravel 5的刀片模板中创建一个变量,以供分部视图使用


How to create a variable in a blade template in laravel 5 to be used by a partial view

我创建了一个具有公共表单代码的部分视图。我想做的是改变按钮的值,所以我想我只需要在父视图中创建一个变量,就在@include部分视图之前,我将设置一个变量,然后部分视图使用它来显示正确的标题。

这是我的部分视图代码

  <div class="form-group">
    {!! Form::label('account_name_id', 'Account Name', ['class' => 'col-sm-2 control-label' ]) !!}
    <div class="col-sm-10">
      {!! Form::text('account_name', null, ['class' => 'form-control', 'id' => 'account_name_id', 'placeholder' => 'Account Name...']  ) !!}
    </div>
  </div>

  <div class="form-group">
    {!! Form::label('legal_name_id', 'Legal Name', ['class' => 'col-sm-2 control-label' ]) !!}
    <div class="col-sm-10">
      {!! Form::text('legal_name', null, ['class' => 'form-control', 'id' => 'legal_name_id', 'placeholder' => 'Legal Name...']) !!}
    </div>
  </div>

  <div class="form-group">
    {!! Form::label('company_code_id', 'Company ID', ['class' => 'col-sm-2 control-label' ]) !!}
    <div class="col-sm-10">
      {!! Form::text('company_code', null, ['class' => 'form-control', 'id' => 'company_code_id', 'placeholder' => 'Company Identifier...']  ) !!}
    </div>
  </div>

  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      {!! Form::submit($submitButtonTitle, ['class' => 'btn btn-primary']) !!} 
    </div>
  </div>

请注意上面我的局部视图中的$submitButtonTitle变量。

在父视图中我做了这样的操作

@extends('layouts.master')
@section('main')
    {!! Form::open(['route' => ['account_store_path'], 'class' => 'form-horizontal']) !!}
  {{ $submitButtonTitle = 'Add Account' }}
  @include ('accounts._form')
    {!! Form::close() !!}
@stop

我遇到的问题是我不确定如何设置变量而不显示在屏幕上。

当我做

  {{ $submitButtonTitle = 'Add Account' }}

它实际上正确地设置了变量,但它也将它回显到屏幕上。如何只设置变量而不将其回显到屏幕上?

这是一个适当的刀片包含。您可以通过以下方式将偏视图添加到视图中:
@include('your_partial', ['submitButtonTitle' => 'Add Account'])

使用简单的PHP标签

<?php $submitButtonTitle = 'Add Account' ?>