php - SilverStripe 3.1 移除 SortableGridField 分页并显示所有 DataObejcts

标签 php pagination content-management-system silverstripe

我一直在尝试查找有关如何在 SS3 中删除 GridFields 上的分页并在 CMS GridField View 中显示所有(或至少更多)DataObject 的信息。

我专门用SortableGridFields允许排序。

接口(interface)默认一次加载15个DataObject。

  1. 有没有办法完全删除分页?
  2. 有没有办法将限制增加到例如 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/

相关文章:

php - 如何更新mySQL表中单元格值大于n的行?

content-management-system - Content Repository , Document Repository ,如果有的话有什么区别?

php - docker的Xdebug没有连接

ruby-on-rails - 访问当前页面上的集合对象w will_paginate

php - 高效评论系统分页查询

python - Python 中的 Flask 分页帮助

java - Jahia 6.6 CMS - 编写自己的管理器

php - 如何通过多个类获取和发送 href 链接

php - 多用户 - 拖放

php - 如何在登录后重定向一个人