Ho configurato un flusso di lavoro, inizia con lo stato "Bozza" come al solito. E ho configurato il flusso di lavoro per i valori standard del modello. Funziona perfettamente con l'editor di contenuti. (Quando creo un elemento utilizzando l'editor di contenuti, una volta creato l'elemento, Flusso di lavoro viene assegnato all'elemento e lo stato diventa "Bozza".)Sitecore: Assegna programmaticamente un flusso di lavoro a un elemento
Ma quando creo un elemento a livello di codice con il modello sopra riportato non assegnare il flusso di lavoro. Cosa devo fare per assegnare il flusso di lavoro? Si prega di condividere eventuali esempi di codice se si dispone.
Grazie.
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();
ho guardato tutto il luogo e questo sembra essere il risposta migliore, mi chiedo perché non accada più automaticamente. –
Non utilizzare in questo modo per impostare i Guidi codificati in modo fisso. Usa la risposta di JRobbins per impostarlo correttamente. –
Per la nostra particolare esigenza, gli ID codificati erano soddisfacenti per noi. Una cosa da notare è che puoi usare 'Sitecore.FieldIDs.Workflow' e' Sitecore.FieldIDs.WorkflowState' invece di '__Workflow [...]'. Ad esempio: 'itemVersion.Fields [Sitecore.FieldIDs.WorkflowState] .Value = approvedState.ToString();'. –