当Kentico 10中的内容编辑器更新页面并最终发布该页面时,我希望执行自定义操作。
更具体地说,我们为产品提供了一个自定义页面类型,该页面类型也为“已更新”复选框,允许编辑者将其标记为已更新。发生这种情况(被标记为已更新)时,我想向对该产品已注册有兴趣的用户发送电子邮件。
我正在浏览文档,并在这里遇到了全球活动:https://docs.kentico.com/k10/custom-development/handling-global-events/reference-global-system-events#Reference-Globalsystemevents-DocumentEvents
我想知道编辑器更新产品时使用全局事件拦截保存操作是否是解决问题的方法,或者是否有更好的方法。
答案 0 :(得分:1)
Kentico没有开箱即用的功能,但是我们可以通过为全局事件和调度程序编写自定义代码(如果邮件数量很大)来实现此目的
推荐步骤:
公共重写void Init() { //将自定义处理程序分配给适当的事件
+ = new EventHandler(DocumentPublishCustomEvent)之后的WorkflowEvents.Publish。 }
3。实施自定义计划程序以从自定义表中选择用户信息并将电子邮件发送给用户。
注意:理想情况下,您可以使用电子邮件模板发送电子邮件
答案 1 :(得分:0)
使用全局事件是一种方法,另一种方法是使用Kentico的Advanced工作流引擎(如果您具有EMS许可证):
您可以创建一个自定义工作流程步骤和操作,编辑者会将其放入页面中,并向感兴趣的人发送电子邮件-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许可证,则可以使用Global事件,但我看不到必要的更新标志字段,您可以轻松地在Global Event处理程序中检查产品是否到达了基本工作流程中的“已发布”工作流程步骤,然后将电子邮件发送给感兴趣的各方。