我正在尝试使用 TOM.NET API 将给定页面或组件的已发布时间戳保存到给定目标。Page
在or对象下不是很明显Component
,有人可以指出我正确的方向吗?
问问题
463 次
2 回答
7
您可以为此使用该PublishEngine.GetPublishInfo(IdentifiableObject)
方法,它返回一个PublishInfo
对象集合,其中包含可用于给定项目的日期和其他(发布)信息。
于 2012-04-10T16:12:25.263 回答
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())
) - 因此,如果使用此代码段,请注意这些项目 :)
于 2012-04-10T16:47:59.120 回答