我在Sitecore中遇到了業務需求,我們不需要附加工作流的少數項目,但我們希望在編輯項目時創建新版本。如何創建沒有工作流程的sitecore項目版本?
我不能應用下面的設置,因爲它會影響所有的項目,我的工作流程將不會有用。
<setting name="RequireLockBeforeEditing" value="true"/>
我還通過了stackoverflow question和它給了以下的解決方案,但不知道是哪個事件是應該的。
public Item StartEditing(Item item)
{
Error.AssertObject((object) item, "item");
if (!Settings.RequireLockBeforeEditing || Context.User.IsAdministrator)
return item;
if (this._context.IsAdministrator || StandardValuesManager.IsStandardValuesHolder(item) || !this.HasWorkflow(item) && !this.HasDefaultWorkflow(item) || !this.IsApproved(item))
return this.Lock(item);
Item obj = item.Versions.AddVersion();
if (obj != null)
return this.Lock(obj);
else
return (Item) null;
}
是否要強制新版本所有編輯人員在開始編輯項目時的一項內容?你可以看看「item:locked」事件,但是使用'ribbon> Versions> Add'按鈕還不夠嗎? –
是的,我們希望在開始編輯項目時強制所有編輯者的新版本項目。不,我們不能使用功能區選項,因爲編輯人員不熟悉它。我將在項目上創建版本:鎖定事件。我也檢查show.config那裏我已經看到項目:編輯命令我們可以利用它? –
我不認爲'item:edit'命令到處都是調用,例如不確定關於體驗編輯器? –