检查节点是否已在 Umbraco 6.1.4 asp.net c# 中发布

本文关键字:net asp 是否 节点 Umbraco 检查 | 更新日期: 2023-09-27 18:33:22

有没有办法检查 Umbraco (v. 6.1.5) 内容中的节点是否已发布或节点已发布多少次,以便,例如,如果这是第二次在同一节点上按"发布",我可以应用一些逻辑?

我需要该发布计数进行翻译,以便我可以更新其他语言节点中内容中的文本,因为 MS Translator 仅在我要翻译的节点首次发布时才有效。

谢谢!

检查节点是否已在 Umbraco 6.1.4 asp.net c# 中发布

这是一项小工作,但您可以将 publishedCount label 属性添加到您的文档类型中,然后在每次使用以下代码保存时递增此值:

public class SaveEvent : ApplicationEventHandler
{
    protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
    {
        ContentService.Saving += ContentService_Saving;
    }
    void ContentService_Saving(IContentService sender, SaveEventArgs<IContent> e)
    {
        foreach (var item in e.SavedEntities)
        {
            if (!item.HasProperty("publishedCount"))
                return;
            int workingCount = item.GetValue<int>("publishedCount");                              
            item.SetValue("publishedCount", workingCount++);
            if(workingCount => 1)
            {
                // do additional work here
            }
       }
    }

}

然后,已发布的节点将始终具有可以检查的已发布计数属性。

您可以在 http://our.umbraco.org/wiki/reference 找到更多信息,任何具体的实施问题也可以在 http://our.umbraco.org 提出。

最好的办法是将钩子写入 Umbraco 的发布事件,然后获取正在发布的文档的节点 ID。在数据库中有一个表,用于存储用于构建 Umbraco 审计跟踪的数据(不确定是哪一个),您可以在其中检查文档上次发布的时间或次数,然后在那里添加您的语言逻辑。请参阅下面的主题 fr 参考:发布事件挂钩示例

本布拉科州所有活动概览