Bir iş akışı yapılandırdım, her zamanki gibi "Taslak" durumla başlıyor. Ve şablonun standart değerleri için iş akışını yapılandırdım. İçerik editöründe mükemmel çalışır. (İçerik Düzenleyicisi'ni kullanarak bir öğe oluşturduğumda, öğeyi oluşturduktan sonra İş Akışı öğeye atanır ve durumu "Taslak" haline gelir.)Sitecore: Bir öğeye program akışında iş akışı atama
Ancak, yukarıdaki şablonun altında programsal olarak bir öğe oluşturduğumda iş akışını atamayın. İş akışı atamak için ne yapmalıyım? Lütfen varsa herhangi bir kod örneğini paylaşın.
Teşekkürler.
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();
biryere baktı ve bu gibi görünüyor En iyi cevap, neden daha otomatik olarak gerçekleşmez merak ediyorum. –
Sabit kodlu Kılavuzları ayarlamak için bu şekilde kullanmayın. Doğru şekilde ayarlamak için jRobbins cevabı kullanın. –
Özel ihtiyacımız için, kodlanmış kimlikler bizim için iyi oldu. Unutulmaması gereken bir şey '__Workflow [...]' yerine 'Sitecore.FieldIDs.Workflow' ve 'Sitecore.FieldIDs.WorkflowState 'kullanabilmenizdir. Örneğin: "itemVersion.Fields [Sitecore.FieldIDs.WorkflowState] .Value = approvedState.ToString();'. –