Workflow Sitecore工作流不工作

Workflow Sitecore工作流不工作,workflow,sitecore,Workflow,Sitecore,我已经有一个带有模板A的内容项(项)。 模板A最初没有设置任何工作流,我在模板的标准值中设置了一个新工作流 如果转到内容项的工作流部分,则只有“默认工作流”更新。即使我在工作流的属性中设置了“初始状态”,字段“工作流”和“状态”也是空的,如下面的屏幕截图所示。因此,工作流流程无法处理该项目 但是,如果使用已设置工作流的模板创建新项目,则可以根据其初始工作流设置查看所有已填充的工作流字段。所以,工作流过程是完美的工作 我有许多没有工作流设置的页面,我将在其模板中分配新的工作流 我怎样才能解决这个问

我已经有一个带有模板A的内容项(项)。 模板A最初没有设置任何工作流,我在模板的标准值中设置了一个新工作流

如果转到内容项的工作流部分,则只有“默认工作流”更新。即使我在工作流的属性中设置了“初始状态”,字段“工作流”和“状态”也是空的,如下面的屏幕截图所示。因此,工作流流程无法处理该项目

但是,如果使用已设置工作流的模板创建新项目,则可以根据其初始工作流设置查看所有已填充的工作流字段。所以,工作流过程是完美的工作

我有许多没有工作流设置的页面,我将在其模板中分配新的工作流

我怎样才能解决这个问题???????



当您在标准值项上设置默认工作流值时,它不会自动执行并将现有项版本添加到特定工作流状态。这是因为以前发布的任何内容都将变为未发布,因为它将进入工作流的默认状态,通常是草稿状态

下次向现在具有工作流的项目添加版本时(显式或以较低级别用户的身份“编辑”),其状态应按预期设置为草稿


如果您需要在特定状态下将项目的现有版本迁移到工作流中,您可能需要通过代码执行此操作。

我使用了Powershell脚本,它看起来是这样的。 它会更新空字段并完美地工作

##################################################################
##  1. 在模板的标准值中设置默认工作流状态##
##  2. 在运行脚本之前,必须设置正确的上下文项##
##################################################################
函数集工作流($item)
{
##仅更新分配的项目\uuu默认工作流
如果($item.“uu默认工作流”-eq“{A5BC37E7-ED96-4C1E-8590-A26E64DB55EA}”){
$item._工作流=“{A5BC37E7-ED96-4C1E-8590-A26E64DB55EA}”;
$item.“_工作流状态”=“{190B1C84-F1BE-47ED-AA41-F42193D9C8FC}”;
}
}
##更新正确的工作流信息。
获取项目-语言*| foreach对象{SetWorkFlow($|)}
获取子项-递归语言*| foreach对象{SetWorkFlow($|)}
##显示更新的结果
获取项目-语言*|格式表Id、名称、语言、_工作流、_工作流状态、_默认工作流
获取子项-recurse-Language*|格式表Id、名称、语言、_工作流、_工作流状态、_默认工作流

您是在模板本身的
默认工作流
字段中设置工作流,还是在模板的
标准值中设置工作流?另外,您是以管理员身份还是“普通”用户身份登录的?在模板的标准值中,我只设置了“默认工作流”字段,而在模板的标准值中,“工作流”和“状态”字段为空。您是以管理员身份登录的吗?据我所知,您希望将工作流的初始步骤分配给现有项目。我说得对吗?有一个问题描述了如何使用Sitecore Powershell扩展来做到这一点。它对我来说很好。您需要“锁定并编辑”该项目,在该阶段,它将进入初始工作流阶段,
工作流
状态
锁定
字段将使用正确的值进行更新,不过,感谢您在注释中这样做“以前发布的任何内容都将变为未发布,因为它将进入工作流的默认状态,通常为草稿状态“,我不知道这是否正确。我对已发布和未发布的项目进行了测试,但出现了相同的问题。对于那些希望实现/运行此脚本的人来说,这只是一个提示:您应该在if语句中添加一个检查,以确保在覆盖工作流和工作流状态字段之前,它们都是空的。