Sitecore用户编辑项目创建新版本 [英] Sitecore users edit item creates new version

查看:16
本文介绍了Sitecore用户编辑项目创建新版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Sitecore中,对于所有没有管理员权限的用户(创建用户时未单击管理员复选框),当他们尝试编辑项目时,必须选择"锁定并编辑"选项,该选项将创建新版本,而不是编辑现有版本。有没有一种方法可以让非管理员用户在不创建新版本的情况下编辑项目? 我希望这是否可以使用用户角色来完成。

推荐答案

以下是负责在编辑Sitecore项目时创建新版本的代码:

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;
}
显然,如果项目处于任何工作流的最终状态,则Sitecore将创建新版本,除非用户是管理员。

您可以尝试更改RequireLockBeforeEditing设置,但它不仅会禁用新版本功能,还会禁用锁定功能。

这篇关于Sitecore用户编辑项目创建新版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆