关闭

超越静态:如何将自动添加到DNN的角色系统

毫无疑问,DNN的角色系统是定制网站内容的强大手段。页面上每个模块的可见性都可以基于角色进行配置。通过使用这种技术,您可以很容易地为超级用户显示额外的内容,为您的卖家显示一些相关信息,或者在您的电子商务网站上隐藏客户已经购买的产品。但有一个主要的限制。

在重新启动一个运行在DNN CMS平台上的大型国际B2B商店时,我们遇到了一个问题:我们想创建一个自动由其他角色的成员组成的单一角色。然而,这在DNN的标准角色系统中是不可能实现的。

经过一些考虑,我们决定为DNN开发一个扩展,它可以顺利地集成到DNN强大的角色系统中。扩展钩子到DNN的角色系统,并通过动态管理角色成员来扩展它。我们很快注意到,这个想法可以考虑得更远一些:与其简单地将来自不同角色的用户组合到一个新角色中,为什么不使用更多的标准,例如请求参数和cookie的存在性和值,以及用户的地理位置?

我们需要一种方法,允许管理员以简单、熟悉的方式表达规则。我们决定使用XML。每条规则都由一个易于使用的XML标记表示。我们还添加了逻辑运算符标签,因此可以组合多个规则。

下面是如何使用XML创建动态规则的一个简单示例。它检查HTTP GET请求参数“campaign”是否设置为“谷歌”,或者cookie“goodCustomer”是否存在。如果是,该规则的计算结果为TRUE,因此用户被添加到特定的DNN角色。注意,规则支持正则表达式,因此在定义期望的结果时具有最大的灵活性:

<、>


< / >

结果被称为动态角色.该模块要求DNN CMS v07.03.00或更新版本可以从DNN商店获得

我们不时地在我们的网站上发布一些how to和tips博客.如果你有任何问题,请尽管提联系我们

留下你的评论
Baidu
map