I\'m trying to get hold of the published timestamp for a given page or component to a given target using the TOM.NET API. It isn\'t immediately obvious under the Pag
Thanks to Bart's answer above, I've knocked up the following rough code. It's not about performance as this is a proof of concept to demo something to a customer:
// 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());
}
}
}
Here you can see I already have my childPage
object, and i'm adding the result to an existing page XML object (pageElem.SetAttribute("timestamp", publishInfo.PublishedAt.ToString())
) - so if using this snippet look out for these items :)
You can use the PublishEngine.GetPublishInfo(IdentifiableObject)
method for that, it returns a collection of PublishInfo
objects which holds the dates and other (publish) information available for the given item.