kentico - Kentico 10 - 页面更新的自定义操作
问题描述
当 Kentico 10 中的内容编辑器更新页面并最终发布时,我希望执行自定义操作。
更具体地说,我们有一个产品的自定义页面类型,它也作为“更新”复选框,允许编辑器将其标记为更新。发生这种情况时(被标记为已更新),我想向对此产品有注册兴趣的用户发送一封电子邮件,告知该产品已更新。
我正在查看文档并在这里遇到了全球事件:https ://docs.kentico.com/k10/custom-development/handling-global-events/reference-global-system-events#Reference-Globalsystemevents-DocumentEvents
我想知道当编辑器更新产品时使用全局事件来拦截保存操作是否是这里的方法,或者是否有更好的方法。
解决方案
Kentico 没有开箱即用的这个功能,但是我们可以通过为 Global Event 和调度程序编写自定义代码来实现这一点(如果邮件数量很大)
推荐步骤:
- 将自定义代码附加到全局事件处理程序,同时在事件后发布特定文档发布
public override void Init() { // 将自定义处理程序分配给适当的事件
WorkflowEvents.Publish.After += new EventHandler(DocumentPublishCustomEvent); }
- 在自定义代码中,如果发布了所需的页面,则在自定义表中输入要发送的电子邮件[此步骤是可选的,如果要发送的邮件很少,您可以直接从自定义事件处理程序发送邮件]
3.实现自定义调度程序从自定义表中选择用户信息并向用户发送电子邮件。
注意:理想情况下,您可以使用电子邮件模板发送电子邮件
推荐阅读
- javascript - 使用 nightwatch.js 依次调制测试
- c# - 如何将 Nancy 与 Autofac 和 ASP.NET Core windows 服务集成
- arrays - Excel - 将 SUMPRODUCT 公式概括为数组公式
- asp.net-core - System.InvalidOperationException:“请验证 Azure 存储模拟器是否正在运行。”
- typescript - 如何使用异步函数扩展接口?
- r - 动态计算 R 中 10 年的每月 CAGR
- javascript - 如何在 gatsbyjs 中使用参数创建路由
- date - 日期之间的 Sumifs
- gulp - 你如何配置和使用 gulp eslint 任务?
- ios - UILabel 文本在应该逐字打断时逐字打断