移除 Laravel 背包中的过滤器标签

Remove filter's label in Backpack for Laravel

有人知道我可以在哪个文件中删除列表视图中的过滤结果标签吗? 例如,假设我有一个团队列表,在每个团队中,我也有一个用户列表。我想过滤掉不在我现在正在访问的团队菜单中的用户。所以我使用 Backpack 提供的 $this->crud->addClause() 方法。我不想要的是,在过滤器具有 运行 之后,它向我显示 Showing 1 to 1 of 1 entry(从 4 个总条目中过滤)。重置 标签。当然,我不想让我的用户知道我的数据库中有多少用户(你可以从 filtered from 4 total entries 标签中看到),这就是为什么我想去掉那个标签。有谁知道这是怎么做到的吗?谢谢。顺便说一句,这是位于的标签:

List of users view image

您可以使用类似的方式隐藏它:

@push('after_scripts')
<script>
        $(document).ready(function () {
            $(".dataTables_info").hide()});
</script>
@endpush

将前面的代码添加到您的末尾 resources/views/vendor/backpack/base/inc/topbar_right_content.blade.php 文件

它会隐藏整体统计..

在内部,Backpack 使用 DataTables 进行 CRUD 列表操作。 查看 DataTable 的文档,有一个选项可以禁用记录计数/过滤记录 info

Backpack 的数据表设置在 datatables_logic.blade.php 中,位于 /vendor/backpack/crud/src/resources/views/crud/inc

如果 blade 文件在 resources/views/vendor/backpack/crud 文件夹中存在,Backpack 将取而代之,所以您所要做的就是

  1. 将原来的datatables_logic.blade.php复制到WhateverYourAppNameIs/resources/views/vendor/backpack/crud/inc/datatables_logic.blade.php

  2. 编辑文件并找到它(第 88 行左右)

      dataTableConfiguration: {         
      @if ($crud->getResponsiveTable())
    

然后改成这样

      dataTableConfiguration: {         
      "info": false,
      @if ($crud->getResponsiveTable())

就是这样。已过滤的记录计数已消失。

如果您只是想隐藏从 4 个总条目标签中筛选出来的

按照@rbndeveloper 提到的方式复制 datatables_logic.blade.php

在文件中进行以下更改。

转到

"infoFiltered":   "{{ trans('backpack::crud.infoFiltered') }}",

改为

"infoFiltered":   "",

您必须删除总记录。

您可以覆盖 EntityCrudController 中的 ListOperation::search() 方法并像这样更改:
而不是

$totalRows = $this->crud->model->count();

$totalRows = $this->crud->count();

现在您只会看到行

"Showing x to x of x entries"

.

"filtered from x total entries"

现在将被删除,因为总记录数等于获取的记录数。