Тридион 2009 - Определите, кто опубликовал страницу - PullRequest
0 голосов
/ 20 марта 2012

Нам нужно определить, кто инициировал публикацию страницы Tridion 2009: редактор или код.

Пожалуйста, используйте в качестве примера: Публикация A Публикация B, которая наследуется от A

Теперь, когда мыопубликуйте страницу в публикации A, используя «Также публиковать / отменить публикацию в дочерних публикациях», система событий будет запущена для страницы в публикации A, а также для страницы в публикации B.

В этом случае мы хотим использоватьсистема событий только на странице из публикации A

Что-то вроде:

public override void OnPageSetPublishedToPost(Page page, string publicationTarget, bool published, string user)
{
  if (!page.IsTriggeredByParent)
  {
  // do stuff
  }
}

Проблема в том, что мы не знаем, как определить значение для «IsTriggeredByParent».

Спасибо за ваше время

1 Ответ

4 голосов
/ 20 марта 2012

В SDL Tridion 2009 это невозможно, система событий на основе COM не может определить, откуда произошло событие.

В системе событий SDL Tridion 2011 .NET у вас есть доступ к событию.стек.Это означает, что вы можете определить, выполняется ли действие как часть другого действия (например, при сохранении в VersionedItem с параметром true также будет отмечен элемент и будет инициировано это событие как часть события Save).Так что для выполнения вашей задачи я думаю, что вам требуется обновление.

...