我正在尝试使用TOM.NET API获取给定目标或组件的已发布时间戳。在Page
或Component
对象下不是很明显,有人能指出我正确的方向吗?
答案 0 :(得分:7)
您可以使用PublishEngine.GetPublishInfo(IdentifiableObject)
方法,它返回PublishInfo
个对象的集合,其中包含可用于给定项目的日期和其他(发布)信息。
答案 1 :(得分:2)
感谢Bart上面的回答,我已经敲了下面的粗略代码。它与性能无关,因为这是向客户演示某些内容的概念证明:
// if we are in publishing mode, figure out the target we are publishing to, and get the timestamp that the page is published to this target
if (engine.PublishingContext.PublicationTarget != null)
{
ICollection<PublishInfo> publishCollections = PublishEngine.GetPublishInfo(childPage);
foreach (PublishInfo publishInfo in publishCollections)
{
if (publishInfo.PublicationTarget == engine.PublishingContext.PublicationTarget)
{
pageElem.SetAttribute("timestamp", publishInfo.PublishedAt.ToString());
}
}
}
在这里,您可以看到我已经拥有了childPage
个对象,并且我将结果添加到现有的页面XML对象(pageElem.SetAttribute("timestamp", publishInfo.PublishedAt.ToString())
) - 所以如果使用此代码段,请注意这些项目:)