restruct / silverstripe-softscheduler
添加了一种非常简单的方式来安排(封存/过期)SiteTree项目
2.0
2021-05-11 04:28 UTC
Requires
- silverstripe/framework: ^4.3
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+