我已經配置了一個工作流程,照常以「草稿」狀態開始。我已經爲模板的標準值配置了工作流程。它在內容編輯器中非常完美。 (當我創建一個項目使用內容編輯器,一旦我創建項目,工作流程被分配到該項目,它的狀態變成「草稿」。)Sitecore:以編程方式將工作流程分配給項目
但是,當我在上面的模板下以編程方式創建項目不分配工作流程。 我應該如何分配工作流程?如果您有任何代碼示例,請分享。
謝謝。
Sitecore.Data.Items.TemplateItem template = this.MasterDatabase.GetItem("/sitecore/templates/user defined/sample types");
Sitecore.Data.Items.Item parent = this.MasterDatabase.GetItem(parentId);
Sitecore.Data.Items.Item newItem;
// Create new item and retrieve it
newItem = template.CreateItemFrom("sampleName", parent);
newItem.Editing.BeginEdit();
newItem.Name = StringFormatter.CreateItemNameFromID(this.newItem);
newItem.Fields["Title"].Value = "Sample Title"
newItem.Editing.EndEdit();
我看了所有的地方,這似乎是最好的答案,我想知道爲什麼它不會自動發生。 –
不要用這種方式設置硬編碼的Guid。使用jRobbins答案來正確設置它。 –
針對我們的特殊需求,硬編碼ID對我們來說很好。有一點需要注意的是,您可以使用'Sitecore.FieldIDs.Workflow'和'Sitecore.FieldIDs.WorkflowState'而不是'__Workflow [...]'。例如:'itemVersion.Fields [Sitecore.FieldIDs.WorkflowState] .Value = approvedState.ToString();'。 –