dotnetnuke - 多个 DotNetNuke 模块定义之间的识别

标签 dotnetnuke dotnetnuke-module dotnetnuke-6

我在 DotNetNuke 6 中构建了一个包含多个模块定义的模块。一个模块可以添加到多个页面(选项卡)上,也可以将多个模块添加到一个页面(选项卡)上。 问题是我找不到将一个实例中的所有模块定义联系在一起的标识符。

DesktopModuleId 仅对于安装的每个模块都是唯一的(不是每个实例和页面)。

ModuleId 对于每个模块实例和定义都是唯一的。

TabModuleId 对于每个模块实例和选项卡和定义都是唯一的。

所以我正在寻找一种在我将模块放在页面上时识别哪些模块定义属于彼此的方法。

我发现一个论坛帖子解释了同样的问题,有人建议查看每个定义的 ModuleId 并检查它们是否是连续的。我发现这非常黑客。

编辑:
我正在开发的模块包含许多不同的定义,但假设我们有 3 个(查看、编辑和设置)。当我安装模块时,我必须设置一个要用于该模块的类别,假设我希望它是一个博客模块。然后,所有 3 个定义将从数据库中获取具有相同唯一 ID 的数据(据说)。现在我再次安装相同的模块,我想选择另一个类别(组合)并仅获取该数据。按照 DNN 现在的工作方式,我无法将我的博客项目与我的投资组合项目分开,因为无法知道我的 3 个博客定义是否属于彼此,并且与其他 3 个投资组合定义是分开的。我希望这是有道理的......

最佳答案

如果每个模块的 DesktopModuleId 都是独立的,那么根据 DNN,它们没有任何关联。 DesktopModulePackageId 很有可能将它们关联起来,但我还没有看到在同一个包中安装多个桌面模块的方法(而包是最高级别的功能遏制)。

听起来您希望所有模块定义都包含在一个桌面模块中。在用于安装模块的 list 中,确保只有一个 package 元素和一个 component[type="Module"] 元素。在该 component 元素内部,为模块的每个部分都有一个 moduleDefinition。然后,单个模块将可以添加到页面中,并且当您执行此操作时,每个模块都将被包含在内(您可以随意删除不需要的任何模块)。

关于dotnetnuke - 多个 DotNetNuke 模块定义之间的识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10496073/

相关文章:

web - 开发 DotNetNuke CMS 网站

drupal - Joomla、Drupal、DotNetNuke 或其他适合体育俱乐部的东西?

javascript - DotNetNuke 在每个页面上都包含 javascript

sql - 使用DAL2 : Value cannot be null.访问数据参数名称:con

javascript - 在 DNN 站点中嵌入机器人

dotnetnuke - 使用 "add link"限制 DotNetNuke 文本编辑器中的上传

c#-4.0 - 如何在 DotNetNuke 模块中抛出 404

dotnetnuke - 在 DNN 7 中初始化 NotificationController

c# - 如何在 DotNetNuke 自定义模块中显示图像?

ajaxcontroltoolkit - DotNetNuke 6 是否支持 Ajax 控制工具包?