Umbraco:确定最近更新的内容

时间:2012-08-08 14:37:54

标签: umbraco

我在API中看到有一种方法可以获取UpdateDate字段。有没有办法确定世卫组织是否对特定内容节点进行了最后一次更新?换句话说,最后编辑特定节点的人的用户ID?

以下是我尝试使用的一些代码:

Document[] releaseDocs = Document.GetRootDocuments();
User currentUser = User.GetCurrent();

foreach (var doc in releaseDocs)
{ 
   docPermissions = currentUser.GetPermissions(doc.Path);
   if ((docPermissions.Contains("F")) && (docPermissions.Contains("U")))
   {
      if (doc.HasPendingChanges())
      {
         if (doc.ParentId > -1)
         {
              lblPageContent += doc.Writer.Name;
         }
      }
   }
}

2 个答案:

答案 0 :(得分:1)

我对此进行了更多的研究,虽然writerID和writerName应该存储最后一个编辑器,但Umbraco中似乎存在一个错误。他们的支持建议创建一个隐藏的字段,用编辑器用户数据进行更新,这是我暂时的工作。

答案 1 :(得分:0)

您可以尝试writerNamewriterID,就像使用UpdateDate一样,如下所示:

如果您使用Razor,可以使用如下:

@Model.writerName
@Model.writerID
在XSLT中

<xsl:value-of select="$currentpage/@writerName" />
<xsl:value-of select="$currentpage/@writerID" />

在C#Usercontrol中:

using System;
using umbraco.NodeFactory;

namespace UmbracoTestingProj
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Node node = Node.GetCurrent();
            int writerId = node.WriterID;
            string wrtierName = node.WriterName;
        }
    }
}

我希望这会有所帮助,

如果您有问题,只需在下方发表评论