restruct/silverstripe-softscheduler

添加了一种非常简单的方式来安排(封存/过期)SiteTree项目

安装: 81

依赖: 0

建议: 1

安全: 0

星标: 0

关注者: 4

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

2.0 2021-05-11 04:28 UTC

This package is auto-updated.

Last update: 2024-09-20 11:57:28 UTC


README

#SoftScheduler

##非Cron封存 & 过期模块

此模块允许您指定页面何时可用(封存)以及何时过期。它被称为'softscheduler',因为它不负责发布或取消发布页面。相反,它会检查已发布的页面是否应根据其设置的封存/过期日期提供。

  • 作为管理员登录的用户始终能够看到页面。
  • 将两个值都设置为空意味着页面总是可见。
  • 如果封存时间和/或日期为空,则页面将显示直到它过期。
  • 如果过期时间和/或日期为空,则页面在封存后显示,不会过期。

截图

安排页面在特定日期和时间可用/过期

安装

composer require micschk/silverstripe-softscheduler dev-master

将作为扩展应用于需要排程的 pagetypes(例如新闻项)

---
name: 'schedulerextension'
---
NewsGridPage:
  extensions:
    - Restruct\SoftScheduler\Extensions\EmbargoExpirySchedulerExtension

##使用概述

此功能不与 staticpublisher 一起工作,并且需要额外的检查才能与 partialcaching 一起良好工作

检查在 partialcaching 中的使用:$publishedStatus

提供方便的函数以添加额外的 'where' 以用于数据库查询(TODO:通过 augmentSQL 应用,例如查看

// workaround for Embargo/Expiry (augmentSQL for embargo/expiry is not working yet);
if( $class::has_extension(EmbargoExpirySchedulerExtension::class) ){
	$items = $items->where( EmbargoExpirySchedulerExtension::extraWhereQuery($class) );
}

##需求

SilverStripe 4.0+