如何使用laravel-backpack访问视图列表中的数据并制作显示条件

How to access the data in the view list and make the display conditions with laravel-backpack

我想隐藏 laravel-backpack 中的按钮(在列表视图中)仅当特定条件为真时。

这个条件,我想用我的一件物品做一个数据。

例如文章状态为"Published",去掉编辑按钮。

但我无法在我的 ItemCrudController 中访问此数据。

我想做的事情:

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

你知道怎么做吗?非常感谢!

由于您正在处理 blade 视图部分,您可以这样尝试。

@if(myData =='published')

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

   @else

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

@endif

我认为最干净的方法是创建一些自定义按钮并使用它们代替标准按钮。它应该像在 resources/views/vendor/backpack/crud/buttons 文件夹中创建几个 blade 文件一样简单: - edit_if_published.blade.php - delete_if_published.blade.php

这些文件可以只包含您的条件,并包括供应商文件夹中的标准文件。

然后您就可以在 setup() 方法中删除旧的并使用新的:https://laravel-backpack.readme.io/docs/crud-buttons

希望对您有所帮助。