1

有没有人有任何想法或知道任何插件来允许安排和替换页面。

序言

目前正在为一个新项目评估不同的内容管理系统,我们创建新页面并更新现有页面,例如作为“维护版本”的一部分。

我们将使用 PHP(最好)或 C#

问题

我们希望我们的用户能够编写并保存现有页面的新修订版,并在未来有一个上线日期和时间,在这个日期和时间,我们希望该页面能够替换现有页面,但所有链接到页面,网址等是相同的。

目前

我们使用 cron 作业和运行一些 mysql 查询的 PHP 脚本对页面进行了两次单独的安装和计划更新——这在过去的关键时刻让我们失败了,因为它无法运行。

最后

我们可以自己编写这个,或者在我们自己的 CMS 中,或者作为现有 CMS 的插件——简单地说:

 SELECT latest_revision from posts_pages_table 
 WHERE publishable='yes' 
 AND max(revision_date);

但是是否有人对现有的 CMS 有任何经验,或者从技术角度预见到任何问题?

例如,在 wordpress 后端中,如果页面尚未“上线”,用户将如何确保他们正在更新页面的最新版本。

我们查看了所有现有的 CMS 并搜索了 google,但安排页面更新似乎并不常见,因此依赖于可信赖的 SO 人群的一些指导。

谢谢

4

2 回答 2

2

如果你对 PHP 没问题,你可以使用SilverStripe。要实现您的要求,您可以使用CMS 工作流模块。

SilverStripe CMS 内置两个阶段:实时和草稿。您可以继续修改草稿版本,在您准备好发布之前,它会保持私密。在正常情况下,您只需推动生活。

安装 CMS 工作流后,您还可以选择修改生效的日期(“禁运”)。这会将您的草稿版本存储为“稍后”,并且仅在您选择的日期推送(通过 cron 作业插入)。

您还可以在页面上设置“到期”,此时该页面将被取消发布并且将不再公开可用。

禁运、过期和发布操作不会影响页面的 URL 或 ID,因此当您通过 CMS 重新处理页面时,所有关系都会保持不变。

参考:

于 2012-03-29T20:08:53.423 回答
1

在 Joomla 中,有一种开箱即用的方法,无需接触任何代码。这就是我的做法 -

  1. 为将被替换的页面创建一个类别
  2. 创建一个指向该类别的菜单项。将其设置为仅显示 1 个项目,按最新日期排序
  3. 创建模板覆盖,以便类别项目显示为文章详细信息页面
  4. 创建具有开始发布日期的新文章,该日期确定开始显示的时间

基本上,您将显示一个类别,但它看起来像一篇文章。它总是会拉出已达到其开始发布日期的最新文章。这很容易跟踪,因为您将拥有您发布的每个版本的副本,每次更新您只需复制最后一个要编辑的副本。

您可能可以编写一些自定义的东西来完成同样的事情,但是当它可以通过模板覆盖轻松完成时,为什么还要花费时间和精力呢?

于 2012-03-28T12:46:02.277 回答