Mam skonfigurowany przepływ pracy, zaczyna się od stanu "Robocza", jak zwykle. I skonfigurowałem przepływ pracy dla standardowych wartości szablonu. Działa idealnie w edytorze treści. (Gdy utworzę element za pomocą edytora treści, po utworzeniu elementu przepływ pracy zostanie przypisany do elementu, a jego stan stanie się "Robocza".)Sitecore: Przypisywanie przepływu pracy do elementu programowo
Ale kiedy utworzę element programowo pod powyższym szablonem, robi to nie przypisywać przepływu pracy. Co należy zrobić, aby przypisać przepływ pracy? Proszę podzielić się dowolnymi próbkami kodu, jeśli masz.
Dzięki.
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();
Patrzyłem wszędzie i to wydaje się być najlepszą odpowiedzią, zastanawiam się, dlaczego nie dzieje się to automatycznie. –
Nie należy używać tej metody, aby ustawić oznaczone na sztywno Guids. Użyj odpowiedzi jRobbins, aby ustawić ją poprawnie. –
Dla naszej szczególnej potrzeby, trudne identyfikatory były dla nas w porządku. Należy zwrócić uwagę na to, że można używać 'Sitecore.FieldIDs.Workflow' i' Sitecore.FieldIDs.WorkflowState' zamiast '__Workflow [...]'. Na przykład: 'itemVersion.Fields [Sitecore.FieldIDs.WorkflowState] .Value = approvedState.ToString();'. –