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