2012-04-10 19 views
5

kullanarak bir sayfanın veya bileşenin yayınlanan zaman damgası nasıl elde edilir TOM.NET API kullanarak belirli bir sayfa veya bileşen için yayımlanan zaman damgası belirli bir hedefe tutmaya çalışıyorum. Page veya Component nesnesinin altında hemen belirgin değil, birisi bana doğru yönde işaret edebilir mi?SDL Tridion TOM.NET API

+1

Bu bilgilere erişmeye çalıştığınız zamanı anlatabilir misiniz? Sayfa veya Bileşen oluşturulduğunda veya yayınlamadan sonra bir süre sonra mı? Belirli bir hedef için bu bilgiyi bilmeniz gerekiyor mu? –

cevap

7

Bunun için PublishEngine.GetPublishInfo(IdentifiableObject) yöntemini kullanabilirsiniz; bu, söz konusu öğe için mevcut tarihleri ​​ve diğer (yayımlama) bilgilerini tutan PublishInfo nesnenin bir koleksiyonunu döndürür.

2

Yukarıdaki Bart'ın cevabı sayesinde, aşağıdaki kaba kodu nakledildim. Bu bir müşteriye bir şeyler demo kavramının bir kanıtıdır gibi performansı hakkında değil: İşte

// 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()); 
    } 
    } 
} 

sen zaten benim childPage nesne var görebilir ve i (Varolan sayfa XML nesnesine sonucu ekliyorum pageElem.SetAttribute("timestamp", publishInfo.PublishedAt.ToString())) - öyleyse bu snippet'i kullanırken bu öğeler için dikkat edin :)

İlgili konular