禁用或隐藏 EasyAdmin crud 搜索栏

Disable or hide EasyAdmin crud search bar

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

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

在您的仪表板中:

# App\Controller\Admin\DashboardController

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

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

-> 仅在特定的 CrudController 上隐藏搜索栏:

# App\Controller\Admin\PostCrudController

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

-> 添加条件进行粒度控制:

# App\Controller\Admin\PostCrudController

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;
}