ワークフローを設定しました。通常どおり「下書き」状態から開始します。そして、テンプレートの標準値のワークフローを設定しました。これは、コンテンツエディタで完璧に動作します。 (コンテンツエディタを使用してアイテムを作成すると、ワークフローがアイテムに割り当てられ、その状態が「ドラフト」になります)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();
は、私はすべての場所で見て、これがあると思われます私はなぜそれがより自動的に起こらないのだろうかと思います。 –
この方法でハードコードされたGuidsを設定しないでください。それを正しく設定するには、jRobbinsの答えを使用します。 –
私たちの特別な必要性のために、ハードコードされたIDは私たちのためには大丈夫でした。注意すべき点は、 '__Workflow [...]'の代わりに 'Sitecore.FieldIDs.Workflow'と' Sitecore.FieldIDs.WorkflowState'を使用できることです。例: 'itemVersion.Fields [Sitecore.FieldIDs.WorkflowState] .Value = approvedState.ToString();'。 –