如何在视图中显示edit-add.blade.php只显示Voyager中的一些表?

时间:2018-02-08 01:14:39

标签: php laravel blade voyager

这是我第一次使用刀片,我对此有点困惑。我需要在Voyager中显示一个类似于默认编辑添加视图的表单,但我需要根据角色显示一些输入。我正在通过登录的当前用户进行过滤,并且工作正常,但我需要隐藏/显示基于该表单的表单的一些输入。

如何在刀片视图中完成此操作?

以下是Voyager如何获取刀片视图中的数据:

@php
$dataTypeRows = $dataType->{(isset($dataTypeContent->id) ? 'editRows' :'addRows' )};
@endphp

@foreach($dataTypeRows as $row)
    <!-- GET THE DISPLAY OPTIONS -->
    @php
        $options = json_decode($row->details);
        $display_options = isset($options->display) ? $options->display : NULL;
    @endphp
    @if ($options && isset($options->formfields_custom))
        @include('voyager::formfields.custom.' . $options->formfields_custom)
    @else
        <div class="form-group @if($row->type == 'hidden') hidden @endif @if(isset($display_options->width)){{ 'col-md-' . $display_options->width }}@else{{ '' }}@endif" @if(isset($display_options->id)){{ "id=$display_options->id" }}@endif>
            {{ $row->slugify }}
            <label for="name">{{ $row->display_name }}</label>
            @include('voyager::multilingual.input-hidden-bread-edit-add')
            @if($row->type == 'relationship')
                @include('voyager::formfields.relationship')
            @else
                {!! app('voyager')->formField($row, $dataType, $dataTypeContent) !!}
            @endif

            @foreach (app('voyager')->afterFormFields($row, $dataType, $dataTypeContent) as $after)
                {!! $after->handle($row, $dataType, $dataTypeContent) !!}
            @endforeach
        </div>
    @endif
@endforeach

如果我的表格&#39;示例&#39;包含:身份证,姓名,地址和电话。如何在此视图中仅显示名称和地址的输入?

提前致谢。

3 个答案:

答案 0 :(得分:0)

我不明白你的意思,但是 要首先在视图中显示输入值,您应该将值发送到视图,例如在控制器中:

public function test()
{
  .....
  return view('myView',compact('user'));
}

然后在你看来:

<input type="text" value"{{$user->address}}">
<input type="text" value"{{$user->first_name}}">

答案 1 :(得分:0)

你应该试试这个:

public function edit(Request $request, $id)
{
    $user = Example::find($id);
    return view(‘viewname’,compact(‘user’));
}

edit-add.blade.php
<input type = “text” name=”name” value=”@if(isset($user->name)){{ old('name', $user->name) }}@else{{old('name')}}@endif”>

<input type = “text” name=”name” value=”@if(isset($user->address)){{ old('address', $user->address) }}@else{{old('address')}}@endif”>

答案 2 :(得分:0)

您可以在不使用任何代码的情况下从ADMIN界面对其进行编辑 只需转到设置菜单,然后单击BREAD