2017-11-23 6 views
1

特定の条件が満たされている場合にのみlaravel-backpack(リストビュー)のボタンを非表示にしたいとします。ビューリストのデータにアクセスしてlaravel-backpackで表示条件を作成する方法

この状態で、私は自分のアイテムのデータ1つとしたいと思います。

たとえば、記事のステータスが「公開済み」の場合は、編集ボタンを削除します。

しかし、私のItemCrudControllerでこのデータにアクセスすることはできません。

私がやりたいこと:

public function setup() 
{ 
    if(myData == 'published'){ 
    $this->crud->removeAllButtons(); 
    } 
} 

あなたは方法のアイデアを持っていますか?どうもありがとうございました!

+0

あなたはその目的のためにブレードの '@ if'条件を持っています。 [example file](https://github.com/laravel/laravel/blob/master/resources/views/welcome.blade.php)の使用方法を確認してください。 – Tpojka

答えて

0

私はクリーンな方法は、いくつかのカスタムボタンを作成して、代わりに標準的なもののそれを使用することだと思います。それはあなたのリソース/ビュー/ベンダー/バックパック/ CRUD /ボタンフォルダにいくつかのブレードのファイルを作成するのと同じくらい簡単でなければなりません: - edit_if_published.blade.php - がdelete_if_published.blade.php

ファイルがちょうど持っている可能性があり、あなたの条件付きで、vendorファイルから標準ファイルをインクルードします。

あなたは、古いものを削除し、セットアップ()メソッドで新しいものを使用することができるだろう:https://laravel-backpack.readme.io/docs/crud-buttons

はそれがお役に立てば幸いです。

0

ブレードビューセクションで作業しているので、この方法で試すことができます。

@if(myData =='published') 
 

 
    {{$this->crud->removeAllButtons();}} 
 

 
    @else 
 

 
    {{$this->crud->displayAllButtons();}} 
 

 
@endif