nswdpc/silverstripe-versioned-record-discovery

发现您的 Silverstripe 安装中的未发布记录

安装: 672

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放性问题: 0

类型:silverstripe-vendormodule

v0.2 2022-11-30 01:40 UTC

This package is auto-updated.

Last update: 2024-08-29 06:12:49 UTC


README

此模块为 Silverstripe 网站管理区域中的数据轻松操作提供了向 ModelAdmin 子类中配置的受管理模型自动添加版本化列表的扩展。

目前,它提供

  1. 一个未发布模型管理器扩展,以提供对配置记录的未发布视图
  2. 基于您的选择的报告,显示每个模型类的未发布记录

这有助于解决我们内容编辑员常见的疑问:“还有什么待发布的?”

安装

使用 composer 安装

composer require nswdpc/silverstripe-versioned-record-discovery

如果您是创建 ModelAdmin 的新手,以允许轻松操作 Silverstripe 网站管理区域中的数据,ModelAdmin 文档 是一个很好的起点。

配置

报告

报告将自动显示系统中的所有版本化记录。

如果您希望为报告视图设置不同的默认模型,请在配置中设置此选项(以 Page 类为例)

---
Name: 'default-target-model'
---
NSWDPC\Utilities\VersionedRecordDiscovery\UnpublishedRecordReport:
    default_target_model: 'Page'

ModelAdmin 的标签扩展

这稍微复杂一些,但直接在相关模型管理器中提供未发布记录视图,无需调整过滤器。

示例

以下是一个 Silverstripe 网站中有三个受管理模型的 ModelAdmin 的示例。

我们希望在第一个两个版本化记录类型的管理员中添加“未发布”记录列表,以便我们的内容编辑员可以轻松找到未发布记录。

未发布记录是在草稿阶段存在但在实时阶段不存在的记录。它可能已被发布后又取消发布。

请注意,配置的记录类必须具有 Versioned 扩展才能使此功能正常工作。

添加未发布标签配置

<?php

namespace Amazing;

use SilverStripe\Admin\ModelAdmin;

class RecordModelAdmin extends ModelAdmin
{

    private static $url_segment = 'records';

    // Managed models for this ModelAdmin
    private static $managed_models = [
        VersionedRecordTypeOne::class,// we want an 'unpublished' tab for this
        VersionedRecordTypeTwo::class,// and this
        OtherRecord::class,
    ];

    /**
     * Add the following to your model admin configuration
     * Gotcha: do not use - characters in the keys!
     */
    private static $unpublished_tabs = [
        'recordtypeoneslug' => VersionedRecordTypeOne::class,
        'recordtypetwoslug' => VersionedRecordTypeTwo::class
    ];

}

环境配置

在 YAML 配置中应用扩展

---
Name: myrecord-versioned-tabs
---
Amazing\RecordModelAdmin:
  extensions:
    - 'NSWDPC\VersionedTabs\UnpublishedTabAdminExtension'

构建

运行 dev/build + flush=1,您将在相关管理屏幕中看到两个新标签。

点击时,它们将只列出未发布记录。默认配置的 $managed_models 保持不变。

许可证

BSD-3-Clause

维护者

在此处添加其他维护者,或包括 作者在 composer 中

错误追踪器

我们欢迎在 Github Issue 追踪器上为此项目提供错误报告、拉取请求和功能请求。

在打开新问题之前,请查阅 行为准则

开发和贡献

如果您想为此模块做出贡献,请确保您提出拉取请求并与模块维护者进行讨论。

在完成拉取请求之前,请查阅 行为准则