Sonata Admin + show all items on list view (not per page)

☆樱花仙子☆ 提交于 2019-12-11 06:34:56

问题


In the Sonata Admin Bundle you have a list view where you can add fields you want to show in your table.

At the bottom of the table you have the number of results and pagination. I like the pagination and items per page. But I would like to show ALL the items at the load of the page. So all the items are shown on the page but you can still choose to decrease the number of results per page.

The problem is I don't have a clue on how to do this. Can someone set me on my way?


回答1:


In SonataAdmin 3.x to have all rows by default you need to do the following :

1 - Add _per_page = All to $datagridValues :

 protected $datagridValues = array(
    '_sort_order' => 'ASC',
    ...
    '_per_page' => 'All',
);

2 - Add All to $perPageOptions:

protected $perPageOptions = [16, 32, 64, 128, 192, 'All'];

3 - Set $maxPerPage to All:

protected $maxPerPage = 'All';



回答2:


Actually, it is possible to do. You have in you EntityAdmin to

a) Define a list of possible "Results per page" values.

Now it is protected $perPageOptions = array(16, 32, 64, 128, 192);

So the easiest solution could be just to put a new really big number, foe example

protected $perPageOptions = array(16, 32, 64, 128, 192, 1000000);

But if you want to make really "all", then you must do

protected $perPageOptions = array(16, 32, 64, 128, 192, 'All');

and then

2) redefine a method EntityAdmin::buildDatagrid() to process this 'All' value of $filterParameters['_per_page']




回答3:


class YourAdmin extends AbstractAdmin
{
    protected $perPageOptions = [64, 128, 256, 'All'];

    protected $datagridValues = [
        '_per_page' => 'All',
    ];

    protected $maxPerPage = 'All';

    ...
}

If you find $maxPerPage variable as strange or redundant ask him @author Thomas Rabaix thomas.rabaix at sonata-project dot org



来源:https://stackoverflow.com/questions/38901778/sonata-admin-show-all-items-on-list-view-not-per-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!