点网核没有模块开发?

时间:2011-08-09 17:39:19

标签: asp.net dotnetnuke

*这更多是架构级问题。

我是DNN开发的新手,我们正在努力建立一个电子商务网站,展示所有与我们当前订单数据库相关的产品。

假设我通过DNN进行的任何自定义开发都是MODULE形式,我是错误的吗?我创建了几个自定义模块(即产品列表),它将与后面的代码中的数据库绑定并显示来自SQL的数据。如果我必须为每个功能制作模块,这似乎是非常重的方法。

这里有更好的方法吗?我(建议)可以直接更改DNN页面以适应此类功能吗?

已更新

是否可以在没有模块的情况下进行开发?即在html文本编辑器中提供代码或其他东西。如果我从DNN模板创建新模块,那么它会添加许多文件....这就是为什么它感觉很重

enter image description here

3 个答案:

答案 0 :(得分:2)

强烈建议您直接更改DNN。这将使得将升级应用于DNN变得非常困难,并且对于在您之后维护该站点的任何人造成麻烦。

DotNetNuke中的主要扩展点是模块。该模块只是一些可以放在任何页面上的可执行控件。它不应该比你采取的任何其他方法重得多。无论你想在DNN中做什么,你都应该能够在模块中完成,只需将模块放在页面上。

如果更容易或更有意义,您还可能在皮肤中使用某些功能,而不是模块。通常,皮肤具有在站点中的大多数页面上共享的功能,并且模块用于在特定页面上放置特定内容。

如果您正在寻找更简单的东西,您可以尝试使用核心报告模块,这将允许您从数据库设置查询结果的样式(如果您不需要模块提供的交互性)

答案 1 :(得分:2)

您的好选择如下

  1. 为您的电子商务构建单独的Web应用程序,但提供与DNN站点的重要链接。使用此方法,DNN将用于内容。

  2. 购买像SmithCart这样的第三方电子商务模块,并尝试配置它以满足您的商业模式

  3. 构建自定义DNN模块

  4. 我们目前的项目使用选项#3。我们拥有25,000种产品和约3,000种产品清单,具有大量的客户定制功能。

    虽然它可能看起来很重,例如,每个电子商务部门都有一个独特的模块项目,但它并不一定太复杂。

    示例模块:

    • 产品详情
    • 产品详情
    • 购物车
    • 订单结帐(我们将其拆分为4个模块)
    • 搜索模块
    • 搜索结果模块

    您可以使用URLRewrites将所有产品映射到同一DNN页面/模块。

    因此,我们确实很少有非内容的DNN页面。

    总之,它可能会感觉有点沉重,但通过适当的设计,与单独的Web应用程序相比,它可以相当顺利。

答案 2 :(得分:0)

有一些方法可以在没有模块开发的情况下使用现有的DNN功能。您可以通过在文件夹中添加子应用程序来完成此操作。

例如,您可以查看http://www.firstphera.com/GiftRegistry/Index.aspx,FirstPhera.com是一个主要的dnn应用程序,文件夹GiftRegistry是一个纯粹的asp.net子应用程序,它使用dnn的提供程序来处理数据库。注册和登录的自定义实施是唯一的挑战,其他一切正常。

但如果要构建电子商务应用程序,从长远来看,您将从模块开发方式中受益。

您不必严格按照屏幕截图所示创建单独的计算模块。如果你看一下博客模块,它有最新的博客,搜索博客,档案等功能都在单个模块中实现。

还可以使用名为ModuleDefinitions的技术在dotnetnuke中创建具有相关功能的单个模块。看http://lakhlaniprashant.blogspot.com/2010/04/dotnetnuke-what-is-module-definition.html

如果您想详细了解与电子商务相关的模块开发,我强烈建议您访问NBStore源代码。

如果您有任何其他问题,请告知。