【发布时间】:2015-10-12 15:21:21
【问题描述】:
如何在 ORchard CMS 中将自定义内容类型标记为在特定日期/时间之后过期/存档?
要求:: 我创建了一个自定义内容类型:SideBarLinks。除其他外,此类型包含两个字段:
- 有效期
描述性文字:- 项目将被标记为过期的日期: - 过期状态
描述性文字:- 商品是否过期?
我现在真的不知道该怎么做。我怎样才能触发一些功能/工作流/程序来检查ExpirationDate 并相应地设置ExpirationStatus(是/否)?
我看到 Orchard CMS 中有一个类似的功能叫做PublishLater,我们可以在其中设置预定发布日期和时间:
这件事是怎么做的?是否有一些Workflow 在所需的ScheduledPublish 日期自动执行?如果可以在此处提供有关实施的更多详细信息,将不胜感激。我检查了Orchard.PublishLater 内置模块,但没有多大意义。
【问题讨论】:
-
使用 ArchiveLater 模块,它是 orchard 核心模块的一部分
-
@devqon:恐怕 ArchiveLater 模块不是我要求的解决方案。基本上我的网站上有一个 ARCHIVED 页面,它实际上会列出 LIVE 上的存档/过期项目!我真正想要的是在所需日期(ExpirationDate)之后,应将 ExpirationStatus 设置为“YES”,不再需要。存档模块可以做到这一点吗?
-
不确定您的意思,但是使用 ArchiveLater 模块,您可以设置“在此日期时存档”,当该日期到来时,果园取消发布内容项。这应该会导致该项目在前端不可见,或者您忘记查询已发布的内容项而不是全部。
-
@devqon:实际上有 2 个,比如说,我的内容类型的类别:ExpirationStatus 字段是 YES 或 NO。我刚刚写了 2 个查询(供 Projection 使用)来获取 ExpirationStatus 字段 = YES 和 NO 的项目。我不想在日期到达时为所有 contnet 项目手动设置 YES(ExpirationStatus 字段)
-
这里真正的问题是为什么您需要创建自己的到期状态字段,而有一个内置的非常好的标志,并且似乎完全符合您的要求。
标签: orchardcms orchardcms-1.7 orchard-modules