复杂的果园层规则支持

时间:2011-08-01 14:34:36

标签: orchardcms

是否可以使用更复杂的图层网址规则匹配语法?我希望能够根据更多正则表达式类型规则选择要显示的图层,该规则与我在模块的自定义路由中设置的规则相匹配。

我希望能够实现以下方面:

url('~/my-{\w*}/something/{\w*}')

1 个答案:

答案 0 :(得分:4)

它不是ootb,但可以很容易地在自定义模块中实现(如果你不想改变核心代码)。

它可以作为对现有Orchard.Widgets.RuleEngine.UrlRuleProvider的略微修改来实现,因此也会考虑正则表达式。

只需创建IRuleProvider的实现,将您的函数命名为eg。 'urlregex'(因此它不会与现有的'url'冲突,由UrlRuleProvider处理)并在Process(RuleContext ruleContext)方法中执行所有处理工作。这是一个非常简单的实现类,只涉及几行代码 - 看一下我在开头提到的默认url规则提供程序。