Silverstripe Modeladmin:Gridview分页 - 每页更改项目

时间:2017-10-06 20:37:50

标签: gridview silverstripe modeladmin

我是第一次使用Silverstripe,并且已经做了很多研究。尽管我找到了一些有关它的信息,但有一件事我无法完成。我使用Modeladmin和3个数据对象,例如。客户,合同,ContractType。目前,分页设置为每页15个项目。但是,我希望我的所有数据对象每页只能看到8个项目。有没有办法做到这一点,而不必扩展我的所有dataobjets的Page类?

非常感谢。

2 个答案:

答案 0 :(得分:4)

您可以使用配置API或YAML语法将default_items_per_page设置为8,这将在使用GridFieldPaginator组件创建GridField并且未设置其自己的页面大小的所有情况下得到遵守。< / p>

请注意,ModelAdmin是 设置自己的页面长度的示例(在Simon's answer中描述),因此您还需要设置该配置属性。

您正在使用的代码的其他部分(其他SilverStripe模块)可以设置页面大小而不允许用户配置它们,但这应该可以捕获大部分情况。

# File: mysite/_config/config.yml
ModelAdmin:
  page_length: 8
GridFieldPaginator:
  default_items_per_page: 8

或在_config.php文件中:

Config::inst()->update('ModelAdmin', 'page_length', 8);
Config::inst()->update('GridFieldPaginator', 'default_items_per_page', 8);

答案 1 :(得分:3)

在您的ModelAdmin类中,您可以设置页面长度,例如: private static $page_length = 5