Orchard ContentHandler调用

时间:2015-10-14 19:39:07

标签: c# orchardcms orchardcms-1.7

我正在编写一个模块,只要我的模块附加到的内容项被发布或未发布,就会在导航菜单中添加一些功能。 在我的处理程序中,继承自ContentHandler类,我已经覆盖了“已发布”和“未发布”的方法,并且功能正在按预期工作。 但是,问题是,即使对于没有附加模块(内容部分)的内容类型,我的模块中的内容处理程序方法也会被调用。

我也尝试继承'IContentHandler'而不是'ContentHandler'但结果相同。

有没有办法绑定ContentHandler的'已发布,发布,未发布等'方法,以便仅在内容部分附加到的内容项被修改时调用它们?

1 个答案:

答案 0 :(得分:3)

好的,找到了答案。 在此处发布以供参考。

创建内容部分后,请说'abcPart',触发'发布,取消发布'以及与ContentHandler相关的其他方法,您需要做的就是在部件处理程序的构造函数中添加此代码。

public class MyHandler : ContentHandler
{
    public MyHandler ()
    {
        OnPublishing<abcPart>((context, part) => {
            /*your logic here*/
        });
    }
}

通过这种方式,构建者的'OnPublishing'部分中存在的代码只有在发布了附加'abcPart'的内容项时才会被触发。