Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将内容项的多个版本发布到Sitecore中的交付(web数据库)?_Sitecore_Sitecore6_Sitecore Workflow - Fatal编程技术网

如何将内容项的多个版本发布到Sitecore中的交付(web数据库)?

如何将内容项的多个版本发布到Sitecore中的交付(web数据库)?,sitecore,sitecore6,sitecore-workflow,Sitecore,Sitecore6,Sitecore Workflow,我要求允许网站用户查看项目的当前发布版本(已通过工作流)+以前的版本+计划在将来发布的版本。 因此,当用户访问网站上的内容项时,他们将看到选项卡:项目的上一版本、当前版本和未来版本 我看过一些关于如何拦截发布管道的文章,但仍然无法评估这种情况是否可行。没有本地方法允许在给定时间实时发布多个版本。这取决于Sitecore的发布过程是如何工作的。在高层,让我解释一下: 使用master数据库的创作环境包含每个项目的0-n版本。当用户决定发布内容时,只有标记为“最终”的最新版本才会发布到发布目标数据库

我要求允许网站用户查看项目的当前发布版本(已通过工作流)+以前的版本+计划在将来发布的版本。 因此,当用户访问网站上的内容项时,他们将看到选项卡:项目的上一版本、当前版本和未来版本


我看过一些关于如何拦截发布管道的文章,但仍然无法评估这种情况是否可行。

没有本地方法允许在给定时间实时发布多个版本。这取决于Sitecore的发布过程是如何工作的。在高层,让我解释一下:

使用master数据库的创作环境包含每个项目的
0-n
版本。当用户决定发布内容时,只有标记为“最终”的最新版本才会发布到发布目标数据库,例如通常是web数据库。发布目标数据库(例如web)始终只有一个给定项目的版本,这与主数据库不同

让我再说一遍:

面向公众的前端网站数据库 任何时候都只有给定内容项的一个版本

由于您指出站点前端需要显示来自以下三个版本:

  • 先前的
  • 当前
  • 未来
这意味着显示要发布的“未来”版本的纯粹要求意味着您的站点将不会使用典型的主到web发布模式,而是需要在从主数据库运行的“实时模式”下运行。正如我所说,您甚至根本不会发布内容,而是在编辑/保存内容时呈现内容


因此,出于这个原因,您需要对前端演示组件进行编码,这些组件生成选项卡以查询项目,并获取当前版本、以前的版本(假设为“最终版本”)和以前的版本(假设为“最终版本”)。

没有原生方法允许在给定时间实时发布多个版本。这取决于Sitecore的发布过程是如何工作的。在高层,让我解释一下:

使用master数据库的创作环境包含每个项目的
0-n
版本。当用户决定发布内容时,只有标记为“最终”的最新版本才会发布到发布目标数据库,例如通常是web数据库。发布目标数据库(例如web)始终只有一个给定项目的版本,这与主数据库不同

让我再说一遍:

面向公众的前端网站数据库 任何时候都只有给定内容项的一个版本

由于您指出站点前端需要显示来自以下三个版本:

  • 先前的
  • 当前
  • 未来
这意味着显示要发布的“未来”版本的纯粹要求意味着您的站点将不会使用典型的主到web发布模式,而是需要在从主数据库运行的“实时模式”下运行。正如我所说,您甚至根本不会发布内容,而是在编辑/保存内容时呈现内容


因此,出于这个原因,您需要对前端演示组件进行编码,这些组件生成选项卡以查询项目,并获取当前版本、以前的版本(假设为“最终版本”)和以前的版本(假设为“最终版本”)。

我知道在给定时间只能发布一个版本。我正在考虑一个自定义解决方案,在该方案中,我可以拦截发布操作,并以编程方式为每个项目另外发布该项目的以前和将来的计划版本—作为子项或以不同的名称并排发布。这听起来怎么样?@user224763我认为将这些项目并列(使用不同的名称)只需要您编写代码以确保它们不会显示在其他版本中。虽然这是可能的,但我认为一个更简单的解决方案是从主数据库检索项目(如果您的设置允许的话)。不幸的是,在我们的情况下,“实时模式”将不可能。我知道在给定的时间内只能发布一个版本。我正在考虑一个自定义解决方案,在该方案中,我可以拦截发布操作,并以编程方式为每个项目另外发布该项目的以前和将来的计划版本—作为子项或以不同的名称并排发布。这听起来怎么样?@user224763我认为将这些项目并列(使用不同的名称)只需要您编写代码以确保它们不会显示在其他版本中。虽然这是可能的,但我认为一个更简单的解决方案是从主数据库检索项目,如果您的设置允许的话。不幸的是,在我们的情况下,“实时模式”是不可能的。