使用Web服务生成动态菜单

时间:2011-04-29 18:38:13

标签: asp.net asp.net-mvc web-services menu orchardcms

我有一个网站,可根据用户访问级别生成导航菜单。该代码使用webservices& xslt获取数据并在浏览器中对其进行转换。

现在我想将此站点导出到免费的CMS,任何人都可以建议使用内置此功能的CMS。我真的很喜欢Orchard,但我无法让它发挥作用。

感谢大家的时间和建议。

1 个答案:

答案 0 :(得分:2)

我想你不会发现任何具有类似内置功能的CMS,也不会涉及一些编码来使其工作。

在Orchard中添加此类功能相当容易,但。你必须做的唯一两件事是:

  1. 创建Orchard module(可以自动生成via command-line
  2. 在模块项目中创建一个实现 INavigationProvider 接口的类。只有一种方法可以覆盖返回菜单项集合(通过 Parent< - > Items 属性正确分层)。所有自定义项检索逻辑都应该在这里发生。还有一个 MenuName 属性要覆盖 - 这应该返回生成的菜单的名称(几乎可以是任何东西)。
  3. 基本上就是这样 - 编译解决方案并通过仪表板启用模块功能 - >模块 - >特征

    要显示菜单,您可以使用 Advanced Menu 模块。安装并启用此功能后,您可以将MenuWidget(或StyledMenuWidget,如果您想要一个简单的预先设置的菜单)放到您想要的任何区域(您可以从 Dashboard - > Widgets 执行此操作)。这样做时,系统会要求您提供要渲染的菜单名称。 提供您的INavigationProvider的MenuName属性返回的名称。

    HTH