禁用或隐藏EasyAdmin crud搜索栏



我开发了一个在线学习网站与EasyAdmin作为后端。一切都很好,但我想隐藏或禁用搜索栏的顶部的垃圾页面。我没有覆盖任何模板,只是基于带有字段的实体和一个自定义查询生成器创建了crud,以便仅索引登录用户创建的内容。在网上或文档中似乎找不到任何关于如何做的信息。是否可以添加隐藏或禁用默认搜索栏的选项?谢谢你!

https://symfony.com/doc/3.x/EasyAdminBundle/crud.html#search-order-and-pagination-options

In your Dashboard:

# AppControllerAdminDashboardController
public function configureCrud(): Crud
{
$crud = Crud::new();
return $crud
// ...
->setSearchFields(null); // hide the search bar on all admin pages
}

这是你要的。但是你可以更进一步:

→只在特定的CrudController上隐藏搜索栏:

# AppControllerAdminPostCrudController
public function configureCrud(Crud $crud): Crud
{
return $crud
// ...
->setSearchFields(null); // hide the search bar on admin pages related to the Post entity
}

→添加粒度控制的条件:

# AppControllerAdminPostCrudController
public function configureCrud(Crud $crud): Crud
{
if (
$_GET['crudAction'] === Action::EDIT // if this is the 'edit' page
|| !in_array('ROLE_ADMIN', $this->getUser()->getRoles()) // or if the user is not an admin
) {
$crud->setSearchFields(null); // then hide the search bar
}
return $crud;
}

最新更新