2012-04-10 9 views
5

TOM.NET APIを使用して、特定のページまたはコンポーネントの公開タイムスタンプを特定のターゲットに保持しようとしています。 PageまたはComponentオブジェクトの下ですぐに明らかではない、誰かが正しい方向に私を指すことができますか?SDL Tridion TOM.NET APIを使用してページまたはコンポーネントの公開タイムスタンプを取得する方法

+1

この情報にアクセスしようとしているときに説明できますか? PageまたはComponentがレンダリングされるか、または発行が行われた後のある時点でですか?また、特定のターゲットについてこの情報を知る必要がありますか? –

答えて

7

メソッドを使用すると、指定されたアイテムで利用可能な日付とその他の(公開)情報を保持するPublishInfoオブジェクトのコレクションを返します。

2

上記のバートの答えのおかげで、私は以下の大雑把なコードをノックアップしました。これは顧客に何かをデモするためのコンセプトの証明であるように、それはパフォーマンスについてではありません。

// 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())) - このスニペットを使用している場合は、これらのアイテムを見てください:)

関連する問題