寻找在 DotNetNuke 中过滤模块输出的最佳实践
我的一个客户正在迁移到新的 CMS,旧的 CMS 的内容中包含需要替换的占位符,例如(前面的坏示例):{{ID:CurrentShoppingId}}
,这将替换为当前购物者的 ID。
我可以想到三种方法,但我完全愿意接受新的更好的建议:
- 创建一个基于 HTML 模块的新模块。缺点:模块无法继承,因此我们必须使用源代码并对其进行更改,或者从头开始创建模块;
- 查找是否有像
OnParseHtmlContent
这样的事件并注册一个委托; - 使用过滤输出响应流的好旧(坏)方法。
据我所知,DNN 中没有内置方法可以做到这一点(与 WordPress 不同,WordPress 构建了一个又一个的过滤器)。
A client of me is migrating to a new CMS and the old CMS contains placeholders in the content that need to be replaced, something like (bad example ahead): {{ID:CurrentShoppingId}}
, which would be replaced with the ID of the current shopper.
I can think of three ways, but I'm totally open to new and better suggestions:
- Create a new module based on HTML Module. Drawbacks: a module cannot be inherited from, so we have to use the source and alter it, or create a module from scratch;
- Find out whether there's an event like
OnParseHtmlContent
and register a delegate; - Use the good old (bad) approach of filtering the output response stream.
As far as I know, there's no built-in method in DNN to do this (as opposed to — say — WordPress, where filter upon filter is built).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
HTML 模块支持有限的令牌替换< /a>.对于更强大的功能,还可以使用第三方模块。 http://www.avatar-soft.ro/ dotnetnuke/modules/token-replacement/my-tokens.aspx
The HTML modules supports limited token replacement. For something more robust there are third party modules available as well. http://www.avatar-soft.ro/dotnetnuke/modules/token-replacement/my-tokens.aspx