Kentico 10 - Пользовательское действие при обновлении страницы - PullRequest
0 голосов
/ 04 марта 2019

Я ищу выполнение пользовательского действия, когда редактор контента в Kentico 10 обновляет страницу, и она в конечном итоге публикуется.

Если говорить более конкретно, у нас есть собственный тип страницы для продуктов, который также в виде флажка «Обновлено» позволяет редактору пометить его как обновленный.Когда это происходит (помечается как обновленный), я хотел бы отправить электронное письмо пользователям, которые имеют зарегистрированный интерес к этому продукту, о том, что оно было обновлено.

Я просматривал документацию и наткнулся на Global Eventsздесь: https://docs.kentico.com/k10/custom-development/handling-global-events/reference-global-system-events#Reference-Globalsystemevents-DocumentEvents

Мне было интересно, если использование глобальных событий для перехвата действия сохранения, когда редактор обновляет продукт, это путь сюда или есть лучший подход.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Kentico не имеет этой функциональности "из коробки", но мы можем достичь этого, написав пользовательский код для Global Event и планировщик (если количество сообщений большое)

Рекомендуетсяшаги:

  1. Присоединение пользовательского кода к глобальному обработчику событий при публикации определенного документа, публикация после события

public override void Init () {// Назначаетпользовательские обработчики для соответствующих событий
WorkflowEvents.Publish.After + = new EventHandler (DocumentPublishCustomEvent);}

В пользовательском коде, если требуемая страница опубликована, введите записи в настраиваемую таблицу для отправки электронной почты. [Этот шаг не является обязательным, вы можете отправлять почту из обработчика пользовательских событий напрямую, если отправлено только несколько сообщений]

3.Внедрить пользовательский планировщик, чтобы выбрать информацию о пользователе из пользовательской таблицы и отправить электронное письмо пользователю.

Примечание: в идеале вы можете использовать шаблон электронной почты для отправки писем

0 голосов
/ 04 марта 2019

Использование глобальных событий - это один из способов сделать это, другим способом будет использование расширенного механизма рабочего процесса Kentico (если у вас есть лицензия EMS):

https://docs.kentico.com/k10/managing-website-content/configuring-the-environment-for-content-editors/configuring-workflows/designing-advanced-workflows

Вы можете создатьнастраиваемый шаг рабочего процесса и действие, в которое редакторы помещают страницу и отправляют электронные письма заинтересованным лицам - https://docs.kentico.com/k10/managing-website-content/configuring-the-environment-for-content-editors/configuring-workflows/designing-advanced-workflows/creating-custom-action-workflow-steps

Если у вас нет лицензии EMS, использование глобальных событий выглядит как путь, но я не вижу нужного обновленного поля флага, вы можете легко проверить в глобальном обработчике событий, поступил ли продукт на шаг «Опубликованный» в базовом рабочем процессе, а затем отправить электронное письмо заинтересованным сторонам.

...