我一直在尝试查找有关如何在 SS3 中删除 GridFields 上的分页并在 CMS GridField View 中显示所有(或至少更多)DataObject 的信息。
我专门用SortableGridFields允许排序。
接口(interface)默认一次加载15个DataObject。
- 有没有办法完全删除分页?
- 有没有办法将限制增加到例如 50?
这是特定 GridField 的当前代码:
class ProjectPage extends Page {
// ORM
public static $has_many = array(
"Media" => "ProjectMediaObject"
);
// Page fields in CMS
public function getCMSFields() {
// add media GridField
// config
$config = GridFieldConfig_RecordEditor::create();
$config->getComponentByType('GridFieldDataColumns')->setDisplayFields(array(
"Thumbnail" => "Thumbnail",
"hasVideo" => "Video"
));
$config->addComponent(new GridFieldBulkEditingTools());
$config->addComponent(new GridFieldBulkImageUpload());
$config->addComponent(new GridFieldSortableRows("SortOrder"));
// grid
$media = new GridField("Media", "ProjectMediaObject", $this->Media(), $config);
$fields->addFieldToTab("Root.Media", $media);
}
代码运行完美,我正在寻找的是我似乎缺少的一些配置变量。否则,由于某些或其他原因可能无法实现...
最佳答案
有几个选项:
GridFieldConfig_RecordEditor
接受一个用于每页项目的参数。
$config = GridFieldConfig_RecordEditor::create(50);
或者在组件上设置每页的项目:
$config->getComponentByType('GridFieldPaginator')->setItemsPerPage(50);
或删除分页(和相关组件):
$config->removeComponentsByType('GridFieldPaginator');
$config->removeComponentsByType('GridFieldPageCount');
关于php - SilverStripe 3.1 移除 SortableGridField 分页并显示所有 DataObejcts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19637540/