5

我正在尝试使用 TOM.NET API 将给定页面或组件的已发布时间戳保存到给定目标。Page在or对象下不是很明显Component,有人可以指出我正确的方向吗?

4

2 回答 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 回答