sitecore获取受保护项目的列表

sitecore获取受保护项目的列表,sitecore,Sitecore,有人知道如何获取sitecore中所有受保护(以及之后未受保护)的项目的列表吗 我在谷歌上搜索过,但没有找到任何相关的结果 提前谢谢 这就是我目前所拥有的 var homeItem=Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath); foreach(homeItem.Children中的项) { if(item.Locking.IsLocked()) { //做 } } 不幸的是,如果项目是否受保护,item.

有人知道如何获取sitecore中所有受保护(以及之后未受保护)的项目的列表吗

我在谷歌上搜索过,但没有找到任何相关的结果

提前谢谢

这就是我目前所拥有的

var homeItem=Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);
foreach(homeItem.Children中的项)
{
if(item.Locking.IsLocked())
{
//做
}
}
不幸的是,如果项目是否受保护,item.Locking.IsLocked将不会返回。

找到了解决方案

var homeItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);
foreach (Item item in homeItem.Children)
{
    if (item.Appearance.ReadOnly)
    {
       //stuff here
    }
}

欢呼

当您按下保护或取消保护项目时,此命令称为:

item:togglereadonly
这是保护或取消保护项的方法的一部分:

public override void Execute(CommandContext context)
{
    if (context.Items.Length != 1)
        return;
    Item obj = context.Items[0];
    obj.Editing.BeginEdit();
    obj.Appearance.ReadOnly = !obj.Appearance.ReadOnly;
    obj.Editing.EndEdit();
    Log.Audit((object) this, "Toggle read only: {0}, value: {1}", AuditFormatter.FormatItem(obj), MainUtil.BoolToString(obj.Appearance.ReadOnly));
}

如果您在Sitecore内容编辑器中并单击“配置”选项卡,则会出现“属性”部分,您可以在其中保护/取消保护当前项。