【问题标题】:sitecore get list of protected itemssitecore 获取受保护项目列表
【发布时间】:2014-01-20 01:57:09
【问题描述】:

有谁知道如何在 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 不会返回,如果该项目是否受到保护。

【问题讨论】:

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

标签: sitecore


【解决方案1】:

当您按下保护或取消保护项目时,会调用此命令:

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));
}

【讨论】:

    【解决方案2】:

    找到解决办法

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

    干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 2015-08-11
      相关资源
      最近更新 更多