在CMS中安排和发布替换页面

时间:2012-03-28 10:15:31

标签: wordpress drupal joomla content-management-system silverstripe

是否有人有任何想法或知道任何插件,以允许页面被安排和替换。

前导

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

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

问题

我们希望我们的用户能够编写并保存现有页面的新修订版,其中包含将来的上线日期和时间,在此日期和时间我们希望页面生效以替换现有页面,但所有链接到页面,网址等都是一样的。

目前

我们有两个单独的安装,并使用cron作业和运行一些mysql查询的PHP脚本安排对页面的更新 - 这在过去的关键时刻失败了,但是它无法运行。

最后

我们可以自己编写,可以在我们自己的CMS中,也可以作为现有CMS的插件 - 只需:

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

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

例如,如果在wordpress后端,用户确定他们正在更新页面的最新版本(如果尚未“实时”)。

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

感谢

2 个答案:

答案 0 :(得分:2)

如果你对PHP很好,你可以使用SilverStripe。要实现您的要求,请使用 CMS工作流程模块。

SilverStripe CMS内置两个阶段:live和draft。您可以继续修改草稿版本,在您准备发布之前,草稿版本将保持私有状态。在正常情况下,你只是推动生活。

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

您可以在页面上设置“到期日期”,此时页面将取消发布,不再公开发布。

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

参考文献:

答案 1 :(得分:1)

在Joomla中,有一种方法可以在不触及任何代码的情况下开箱即用。我就是这样做的 -

  1. 为将要替换的页面创建一个类别
  2. 创建指向该类别的菜单项。将其设置为仅显示1项,按最新日期排序
  3. 创建模板覆盖,以便类别项显示为文章详细信息页
  4. 使用开始发布日期创建新文章,以确定何时开始显示
  5. 基本上,你会显示一个类别,但它看起来像一篇文章。它总会拉出已经达到它的开始发布日期的最新文章。跟踪是很容易的,因为你会发布你发布的每个版本的副本,每次更新你都只需要复制最后一个版本进行编辑。

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