需要自定义 DNN 8 模块和皮肤

Need to customize DNN 8 Modules and Skins

是否可以自定义 DNN 8 模块和皮肤?是否可以配置 DNN 8 并在 VS 2010 框架 4.0 中使用它?如果它让我知道要做的步骤,因为我已经将 DNN 8 站点配置到 IIS 7 并且它从那里运行良好,但是当我尝试将它加载到 VS2010 并构建它时,它给了我不同的错误.

错误:

i) 未知服务器标签 'dnn:DnnCssIncludes' - 通过在同一文件中为 dnn 标签添加一行解决了这个问题。

ii) 解决之前的错误后,ckFinder 的另一个错误 wsa,通过在 bin 文件夹中添加 ckFinder.dll 文件解决。

iii) 解决之前的问题后,它会为 ckEditor 生成新的错误。它向我显示以下错误消息: 找不到类型或命名空间名称 'Ventrian'(是否缺少 using 指令或程序集引用?)

我尝试解决并寻找解决方案,但没有成功。谁能告诉我解决此问题的方法?

是的,这是可能的,您需要做一些事情

  1. 设置您的环境
  2. 打开您正在修改的项目,这通常涉及安装您要修改的扩展的 SOURCE 包。
  3. 不要更改 "core",意思是不要更改 "DNN" 本身,你可以,它是开源的,但一旦你这样做,你就会分叉,升级到新版本的 DNN 非常一不小心就很难做到。

设置您的环境 来自 http://www.christoc.com/Tutorials/All-Tutorials/aid/1 根据您的最终目标,设置您的开发环境可能会有所不同。如果您在自己的 DNN 环境中进行自己使用的模块开发,则可以忽略下面的一些设置。如果您进行模块开发的想法是您可能转身将模块赠送或出售,那么您可能希望遵循下面规定的指南以支持最广泛的 DNN 安装环境。

我建议每个开发者都有自己的本地开发环境,有一个本地IIS网站运行ning DotNetNuke,和一个SQL Server 2008/2012(不是express,虽然你可以使用它) 网站的数据库。与共享 environments/databases.

相比,拥有单独的开发环境使得组模块开发要容易得多

选择 DotNetNuke 版本 出于几个原因,在开始开发时选择 DotNetNuke 版本很重要。对于您自己开发的模块,您需要询问生产中的 DotNetNuke 最低版本是多少。您是 运行ning DNN 5.6.1 吗?你是 运行ning 6.2.6、7.0.0、7.0.6 吗?根据答案,您可以确定应该将哪个版本的 DNN 设置为您的开发环境。您不应该在比生产环境 运行ning 更新的 DNN 版本上进行开发。对于所有事情都有解决方法,但我不打算在本教程中详细介绍。

作为致力于创建和发布模块的开发人员,您的生产站点可能 运行 正在使用最新最好版本的 DNN,但是您的客户呢?或者你的潜在客户?您必须问问自己,是否要为真正旧版本的 DotNetNuke 提供支持?从开发的角度来看,您可能会说不,但从业务的角度来看,您可能会说是,这就是原因。并非每个人都按应有的方式升级 DotNetNuke 网站,而且您经常会发现有些人从不升级。虽然我不建议采用这种方法来管理 DotNetNuke 网站,但生活中的事实是人们并不总是升级,而且有成千上万的人,如果不是数万人,他们的网站没有 运行ning 在最新版本的 DNN 上。在进行模块开发时,您应该考虑到这一点,例如,如果您针对旧版本的 DNN 编译模块,那么您的模块也应该 运行 在较新版本的 DNN 上。如果你针对 DotNetNuke 6.2.6 编译你的模块,它可能会在从那时起发布的每个 DNN 版本上 运行。尽管在某些情况下这并不总是有效,但 DNN 努力保持向后兼容性,但这并不总是可能的。

您可能还想使用仅从特定版本的 DotNetNuke 开始可用的功能,例如从 DNN 5.1 开始的工作流功能,在这种情况下,您可以选择不支持旧版本的平台必要的。这将最大限度地减少您可以销售模块的市场,但由于 DNN 提供的功能,还可以减少支持和简化开发周期。

选择套餐 现在这里有一个可能会让你有点困惑。我将建议您对下载的任何版本的 DotNetNuke 使用 INSTALL 包。什么?安装包? SOURCE 包呢?好吧,你可以使用源代码,但你不需要它。我为你设置的模块开发不需要 DNN 源,使用 INSTALL 包可以让你的开发环境更干净。当我们进行模块开发时,我们不会打开 DotNetNuke 项目,那么为什么文件会被闲置?此外,如果您曾经尝试过将 SOURCE 包用于任何事情,您就会知道这并不容易。

设置开发环境的步骤将适用于 DotNetNuke 的社区版和专业版。

安装配置 一旦您完成了版本选择,您就可以完成安装过程。虽然我不打算在此 post 中详细介绍安装 DotNetNuke 的每个步骤,但我至少会尝试为您指明每个步骤的正确方向。

下载您要在开发环境中使用的 DotNetNuke 版本的安装包。

将INSTALL包中的文件解压到您选择的位置,这个位置是您在配置网站时指向IIS(Web服务器)的位置。在我的环境中,我通常使用 c:\websites\dnndev.me\(注意事项:您可能需要右键单击 ZIP 文件并在解压缩之前选择属性,如果您有一个属性 window UNBLOCK 选项,点击那个。Windows 的某些版本已经开始阻止 DotNetNuke ZIP 文件中的文件,这将在以后的实际安装过程中给您带来问题。)

设置 IIS IIS 是 Windows 台计算机附带的 Web 服务器。 DNN 7 需要 IIS 7 或更高版本 (7,7.5,8.0),因此您至少需要 Windows Vista、Windows 7、Windows 8 或 Windows Server 2008 R2,Windows 服务器 2012。

在 IIS 中,您应该创建一个新网站(注意:如果您在 IIS 中使用现有网站,请确保为 DNNDEV.ME 添加 HOST 绑定),并指向您提取 INSTALL 包的文件夹.

注意:对于 DotNetNuke 7.0+,需要 .NET Framework 4.0,因此请确保您的应用程序池配置为 运行 4.0,而不是 2.0。

设置文件权限 为您的 DNN 安装设置文件权限通常是最麻烦的步骤。您应该右键单击您在其中提取 DNN (c:\websites\dnndev.me) 的文件夹并选择属性。选择安全选项卡。您需要为您网站的应用程序池所在的帐户添加权限 运行ning。您需要设置权限以授予帐户对 DNNDEV.ME 文件夹的完全或修改权限。您将使用哪个帐户将根据您的 IIS 版本而有所不同,这里是一些基于 IIS 版本的默认帐户的简单列表。

IIS版本操作系统帐号 IIS 7 Windows Vista,Windows Server 2008 localmachine\Network 服务 IIS 7.5 Windows 2008 R2,Windows 7 IIS AppPool\APPPOOLNAME IIS 8 Windows 2012,Windows 8 IIS AppPool\APPPOOLNAME

注意:如果您使用的是 IIS7.5/8.0,您会注意到在上面 table 我们的标识中有 APPPOOLNAME,这是因为当您在 IIS 中设置一个新网站时,一个新应用程序池被创建。您应该键入所创建的应用程序池的名称。如果您愿意,您也可以绕过它并配置您的应用程序池以使用网络服务帐户而不是动态帐户。

数据库配置 在 SQL 服务器中,您应该检查并创建一个新数据库。我总是创建一个与网站同名的数据库,所以在这种情况下 DNNDEV.ME。创建数据库后,创建可以访问该数据库的用户。我总是使用 SQL 身份验证,关闭强制密码要求,并授予用户数据库所有者和 Public 访问 DNNDEV.ME 数据库的权限。请记住您在此处创建的用户名和密码,因为当您浏览 DotNetNuke 的安装屏幕时将需要它们。

DotNetNuke 安装屏幕 使用标准 DNN 信息、主机用户名、密码等填充安装屏幕。对于数据库选项,选择自定义并配置您的数据库连接,提供服务器 IP/Name、数据库名称 (dnndev.me)。对于数据库身份验证,您需要选择允许您为之前创建的数据库用户输入 username/password 的选项。

现在有两个附加选项可以配置,通常我会告诉你不要修改这些,但从开发环境的角度我建议你更改 objectQualifier 设置。默认情况下它应该是空白的,您应该输入“dnn”(不带引号),这会将“dnn_”添加到 DNN 创建的所有对象(例如表和存储过程)之前。从生产的角度来看,这不是我推荐的东西,但如果您正在开发用于销售的模块,那么建议在您的开发中支持 objectQualifier。如果您的客户在其生产数据库中定义了 objectQualifier,它将为您节省时间。

DotNetNuke 模块开发 要开始您的 DNN 模块开发,请务必阅读我们关于如何安装模块开发模板的教程。

接下来,设置 Visual Studio 模板(您需要使用 VS 2015)并创建一个项目。 您可以在此处找到模板 https://visualstudiogallery.msdn.microsoft.com/bdd506ef-d5c3-4274-bf1d-9e673fb23484

下载 运行 VSIX 软件包安装程序,或搜索 DotNetNuke 的在线模板。观看此视频 https://www.youtube.com/watch?v=kOoQJDeTlJ0&list=PLFpEtny5sIbb9jGxJ7RBM5hIizodOCtoj&index=1