2

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

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

我查看了 alias 模块,并认为这将是一个很好的起点。例如,我可以说当用户点击/并满足某些条件时,然后路由到/controller/action/123等......

忽略如何实施决策逻辑的问题,任何人都可以建议我实现目标的最佳方法吗?

4

1 回答 1

1

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

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

于 2013-07-05T05:06:49.377 回答