有没有人知道如何在sitecore中获取受保护(以及之后不受保护的)所有项目的列表?
我已经搜索过了,但我没有找到任何相关结果。
提前致谢
这就是我到目前为止......
var homeItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);
foreach (Item item in homeItem.Children)
{
if (item.Locking.IsLocked())
{
//to do
}
}
不幸的是,如果项目受到保护,则item.Locking.IsLocked不会返回。
答案 0 :(得分:4)
按下保护或取消保护项目时,会调用此命令:
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));
}
答案 1 :(得分:2)
找到解决方案
var homeItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);
foreach (Item item in homeItem.Children)
{
if (item.Appearance.ReadOnly)
{
//stuff here
}
}
干杯