Вопрос по – Как получить опубликованную временную метку страницы или компонента с помощью SDL Tridion TOM.NET API

5

Я пытаюсь получить опубликованную временную метку для данной страницы или компонента для определенной цели с помощью API TOM.NET. Это не сразу видно подPage илиComponent объект, кто-то может указать мне правильное направление?

Можете ли вы объяснить, когда вы пытаетесь получить доступ к этой информации? Это происходит при визуализации страницы или компонента или в какой-то более поздний момент после публикации? Вам также нужно знать эту информацию для конкретной цели? Chris Summers

Ваш Ответ

2   ответа
7

PublishEngine.GetPublishInfo(IdentifiableObject) метод для этого, он возвращает коллекцию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())) - поэтому при использовании этого фрагмента обратите внимание на следующие элементы:)

Похожие вопросы