1

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

非常感谢。

4

2 回答 2

4

您可以default_items_per_page使用配置 API 或 YAML 语法将 设置为 8,这将在使用 GridFieldPaginator 组件创建 GridField 并且不设置其自己的页面大小的所有情况下都适用。

请注意,ModelAdmin 是一个设置自己的页面长度的示例Simon 的回答中描述),因此您还需要设置该配置属性。

您正在使用的代码的其他部分(其他 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);
于 2017-10-08T21:39:38.810 回答
3

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

于 2017-10-06T22:09:33.813 回答