我在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;
}
}
}
}
答案 0 :(得分:1)
我对此进行了更多的研究,虽然writerID和writerName应该存储最后一个编辑器,但Umbraco中似乎存在一个错误。他们的支持建议创建一个隐藏的字段,用编辑器用户数据进行更新,这是我暂时的工作。
答案 1 :(得分:0)
您可以尝试writerName
和writerID
,就像使用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;
}
}
}
我希望这会有所帮助,
如果您有问题,只需在下方发表评论