与Sitecore的工作流程和标准值继承恼人的问题(Annoying issue with site

2019-06-25 15:31发布

现在,我在与Sitecore的工作流程问题。 问题如下:

我的模板标准值设置设置工作流程和默认的工作流领域。 工作流状态设置为草稿。 然而,每次我从这个模板它没有继承工作流程部分领域创建一个项目,个个都是空

如果我手动设置的工作流程和工作流状态的项目,它按预期达到的最终状态。 但是,如果内容作者编辑项,创建新版本,但只有工作流程字段值保持,而工作流状态再次空。

我在做什么错? 为什么会出现这种情况? 我使用Sitecore的6.5.0

Answer 1:

__Standard Values模板的应该只有在Default workflow字段设置; 没有设置Workflow领域的__Standard Values项为影射的__Standard Values产品本身的工作流程! 同样,没有设置State田野上__Standard Values项为是说, __Standard Values项处于该状态!

您的工作流程项目都有一个Initial State就可以了,它定义的初始状态的项目将在域(假定项目使用的工作流程)。

当您创建一个项目,该项目具有__Standard Value与在工作流Default Workflow领域,那么该项目将有它的Workflow字段设置一样的Default Workflow的领域__Standard Values 。 该项目是在国家将是Initial State为限定在所述工作流程。



Answer 2:

当您创建通过你似乎有专门设置的工作流程和国家明确的API的项目:

Item myItem = parentItem.Add("New item", myTemplate);
myItem.Editing.BeginEdit();
// set any other fields you want here
...
// Now explicitly set the workflow and state here on your new item
// (make sure you get the correct GUIDs by viewing raw values on your workflow and workflow state items)...
myItem[FieldIDs.Workflow] = "{212BCCCB-8197-45C0-81CC-621E0553C25F}";
myItem[FieldIDs.WorkflowState] = "{E8228D86-D780-4F34-B372-6A4D29B67AF9}";
myItem.Editing.EndEdit(); 

我假设,当你通过UI做的有一些得到处理一些额外的管道,使用内容编辑器等,您可以通过使用API​​绕过当你做到这一点。

事实上,这里是SDN相关岗位: http://sdn.sitecore.net/Forum/ShowPost.aspx?PostID=45991



文章来源: Annoying issue with sitecore workflows and standard value inheritance