在Sitecore中保存发布限制时运行代码 [英] Run code when Publishing Restriction is saved in Sitecore

查看:14
本文介绍了在Sitecore中保存发布限制时运行代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当作者保存项目的发布限制时,我需要运行代码。

我该如何着手做这件事?

推荐答案

时间限制存储在__Valid To和__Valid From字段中。按如下方式附着新管道:

 <event name="item:saved">
        <handler type="Test.ValidTest, Test" method="OnItemSaved" />
 </event>

然后测试这些字段是否更改并执行您的操作:

public class ValidTest
{
    private static readonly ID __Validfrom = new ID("{C8F93AFE-BFD4-4E8F-9C61-152559854661}");
    private static readonly ID __Validto = new ID("{4C346442-E859-4EFD-89B2-44AEDF467D21}");

    public void OnItemSaved(object sender, EventArgs args)
    {
        Item obj = Event.ExtractParameter(args, 0) as Item;
        if (obj == null)
            return;
        //if (!(obj.TemplateID == YourTemplateId)) //restrict this to a limited set of templates if possible
        //    return;
        try
        {
            ItemChanges itemChanges = Event.ExtractParameter(args, 1) as ItemChanges;
            if (itemChanges != null &&
                (itemChanges.FieldChanges.Contains(__Validfrom) || itemChanges.FieldChanges.Contains(__Validto)))
            {
                //YOUR THING here      
                Log.Info("Changed!", (object)this);
            }
        }
        catch (Exception ex)
        {
            Log.Error("failed", ex, (object)this);
        }
    }
}

这篇关于在Sitecore中保存发布限制时运行代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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