Есть несколько сценариев, в которых вы можете захотеть извлечь самые последние обновленные блоки и страницы от оптимизации CMS:
-
На многоязычном веб -сайте вам может потребоваться проверить, требуют ли другие языковые версии обновления при изменении только одного языка.
-
Для целей отчетности.
-
Или просто потому, что вы можете.
Пример кода ниже создает запрос против Журнал деятельности (Тот же, который вы найдете в пользовательском интерфейсе настроек CMS Optimizely CMS). Он получает весь контент, который был опубликован (включая редакторы, которые были опубликованы) в течение последнего дня.
Поскольку журнал деятельности может содержать несколько событий для одного и того же элемента контента, запрос выбирает только отдельные идентификаторы контента. Оттуда вы можете обработать контент, как вам нравится.
var query = new ActivityQuery
{
Action = (int)ContentActionType.Publish,
ActivityType = "Content",
Order = ActivityOrder.AsRecorded,
CreatedAfter = DateTime.Now - TimeSpan.FromDays(1),
};
var activities = _activityQueryService.ListActivitiesAsync(query).GetAwaiter().GetResult()
.Cast()
.DistinctBy(x => x.ContentLink.ID)
.Select(x => x)
.ToList();
foreach (var activity in activities)
{
var content = _contentLoader.Get(activity.ContentLink);
// Do something with content updated during the last 24 hours
}
Вот и все!
Читайте также

