我在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'命令到处都是调用,例如不确定关于体验编辑器? –