我如何在Orchard CMS中根据规则更改网站的主页,如一天中的时间,或访问者';s设备

本文关键字:时间 一天 设备 访问者 主页 网站 CMS Orchard 规则 | 更新日期: 2023-09-27 18:21:07

我需要能够根据不同的因素动态设置Orchard网站的主页。

通常,我可以创建规则提供程序或主题选择器来动态更改页面上的主题/小部件。然而,一些需要设置为主页的页面只是普通的MVC页面,因此层规则在这种情况下不会起作用。

我看过别名模块,认为这将是一个很好的起点。例如,我可以说,当用户点击/并且满足某些标准时,然后路由到/controller/action/123等…

忽略了如何实施决策逻辑的问题,有人能为我提出实现目标的最佳方式吗?

我如何在Orchard CMS中根据规则更改网站的主页,如一天中的时间,或访问者';s设备

最简单的方法是覆盖"/"指向自定义控制器的路由。在那里做出决定,然后执行重定向、传输请求或返回不同的结果。

它也可以在较低级别上完成,但这要复杂得多(使用自定义路由实现、路由处理程序等,类似于Orchard.Alias模块的功能)。将Orchard.Alias扩展为在当前简单路径匹配逻辑的基础上考虑自定义逻辑,或者替换当前简单的路径匹配逻辑,这将是一种可行的方法。