禁用或隐藏 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;
}
我开发了一个以 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;
}