मैंने वर्कफ़्लो कॉन्फ़िगर किया है, सामान्य रूप से "ड्राफ्ट" स्थिति से शुरू होता है। और मैंने टेम्पलेट के मानक मानों के लिए वर्कफ़्लो कॉन्फ़िगर किया है। यह सामग्री संपादक में सही काम करता है। (जब मैं सामग्री संपादक का उपयोग कर एक आइटम बना देता हूं, एक बार जब मैं आइटम बना देता हूं, वर्कफ़्लो आइटम को सौंपा जाता है और यह स्थिति "ड्राफ्ट" बन जाती है।)साइटकोर: किसी आइटम को प्रोग्रामेटिक रूप से वर्कफ़्लो असाइन करें
लेकिन जब मैं उपरोक्त टेम्पलेट के तहत प्रोग्रामेटिक रूप से कोई आइटम बनाता हूं तो यह करता है वर्कफ़्लो असाइन नहीं करें। वर्कफ़्लो असाइन करने के लिए मुझे क्या करना चाहिए? यदि आपके पास है तो कृपया कोई कोड नमूने साझा करें।
धन्यवाद।
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();
मैं हर जगह देखा है और इस प्रतीत हो रहा है सबसे अच्छा जवाब, मुझे आश्चर्य है कि यह स्वचालित रूप से क्यों नहीं होता है। –
हार्डकोडेड मार्गदर्शिका सेट करने के लिए इस तरह का उपयोग न करें। इसे ठीक से सेट करने के लिए jRobbins उत्तर का प्रयोग करें। –
हमारी विशेष आवश्यकता के लिए, हार्ड-कोड आईडी हमारे लिए ठीक थीं। ध्यान देने योग्य बात यह है कि आप '__Workflow [...]' के बजाय 'Sitecore.FieldIDs.Workflow' और' Sitecore.FieldIDs.WorkflowState' का उपयोग कर सकते हैं। उदाहरण के लिए: 'itemVersion.Fields [Sitecore.FieldIDs.WorkflowState]। Value = approvedState.ToString(); '। –