2017-10-06 83 views
0

我第一次使用Silverstripe并进行了大量的研究。有一件事我无法完成,尽管我找到了一些有关它的信息。我正在使用Modeladmin和3个数据对象,例如。客户,合同,合同类型。目前,分页设置为每页15个项目。不过,我希望每个数据对象只能看到每页8个项目。有没有办法做到这一点,而不必扩展所有我的数据对象的Page类?Silverstripe Modeladmin:Gridview分页 - 每页更改项目

非常感谢。

+0

希望每个标签上显示的8项相关的数据对象的,还是你想一个列表8个物品混装你的三个数据对象的? – wmk

回答

2

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

2

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

请注意,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);