silverware/模型筛选器

SilverWare 模型筛选器模块。

安装: 359

依赖项: 1

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 2

开放问题: 0

类型:silverstripe-vendormodule

1.1.0 2018-06-12 06:59 UTC

This package is not auto-updated.

Last update: 2024-09-13 09:29:23 UTC


README

Latest Stable Version Latest Unstable Version License

扩展 SilverStripe v4 的 ModelAdmin 以支持筛选版本化数据对象。

内容

背景

传统上,SilverStripe 中的版本控制一直是 CMS 中 SiteTree 对象的专属领域,例如无处不在的 Page 类。随着 SilverStripe v4 的推出,版本控制现在也用于 CMS 的其他领域,例如资产。

您可以通过使用 Versioned 扩展来为自己的模型类添加版本控制。 ModelAdmin 默认支持版本化数据对象,但按状态筛选这些对象稍微有些复杂。

欢迎使用 silverware/model-filters。安装此模块后,您的版本化数据对象将自动在 ModelAdmin 中添加状态下拉字段到筛选表单,允许用户通过其版本控制状态筛选记录。

Record Status Filter

您还可以将 StatusBadges 添加到您的 $summary_fields 以在模型管理器网格字段中显示版本控制状态

Record Status Badges

要求

安装

通过 Composer 进行安装

$ composer require silverware/model-filters

使用

安装后,ModelAdmin 中的 Versioned 数据对象将自动检测,并为每个对象在筛选表单中添加状态字段。

要显示版本对象在网格字段中的状态徽章,只需将 StatusBadges 添加到您的 $summary_fields 静态,例如

private static $summary_fields = [
  ...
  'StatusBadges',
  ...
];

状态字段定位

默认情况下,状态下拉字段将添加到每个版本对象的搜索筛选字段末尾。要控制字段显示位置,请将以下方法之一添加到您的 ModelAdmin 子类

public function getStatusFieldBefore()
{
    return 'NameOfField';  // will appear before this field
}
public function getStatusFieldAfter()
{
    return 'NameOfField';  // will appear after this field
}

您也可以通过 $this->modelClass 检测当前模型类,并根据需要回答不同的字段名

public function getStatusFieldAfter()
{
    switch ($this->modelClass) {
        case FirstModel::class:
            return 'AfterThisField';
        case SecondModel::class:
            return 'AfterAnotherField';
    }
}

状态字段标题

默认情况下,状态下拉字段的标题是“记录状态”。标题是通过在 ModelAdmin 子类上调用 getStatusFieldTitle() 获得的。通过扩展添加的方法支持 i18n,遵循常规 SilverStripe 习惯,但您也可以在 ModelAdmin 子类中重写此方法以提供不同的字段标题

public function getStatusFieldTitle()
{
    return 'New field title';
}

问题

请使用 GitHub 问题跟踪器 报告错误和请求功能。

贡献

我们欢迎您的贡献,以帮助使此项目变得更好。有关更多信息,请参阅 贡献

维护者

许可

BSD-3-Clause © Praxis Interactive