【发布时间】:2013-01-25 21:27:37
【问题描述】:
我已经使用 DotNetNuke 几个星期了,但有一件事我无法弄清楚。如何找出模块当前所在的窗格。我主要使用版本 7,但我也尝试过版本 6。我在任何地方都找不到这些信息。
当页面在 7.x 中处于编辑模式时,可以选择通过将鼠标悬停在移动图标上来将模块移动到不同的窗格。 DNN 显示一个窗格列表,当鼠标悬停在移动图标上时,模块可以在其中移动。 DNN 知道模块当前位于哪个窗格,因为当前窗格已从列表中排除。但是,在模块的设置下,没有属性可以告诉您模块位于哪个窗格中。
这非常重要,因为大多数皮肤都有很多(20 多个)不同的窗格。通常窗格是可折叠的,仅根据页面上模块的位置很难判断模块在哪个窗格中。添加新模块时,需要了解一个模块的当前窗格才能获得正确的布局。
唯一有效的方法是使用消除过程。如果我可以找到哪个窗格不在我可以移动该模块的窗格列表中,我可以找出模块的当前窗格。如果您尝试通过页面管理管理屏幕使用模块,此方法既乏味又不可用。我是否错过了在哪里可以找到此属性或不可用。如果它不可用,那么有没有更好的方法来定位我丢失的项目?
【问题讨论】:
-
你有布局视图吗?抱歉,我只有 DNN 6。我假设 DNN 7 仍然有视图/编辑/布局视图。布局视图就是为此而设计的。
-
布局视图只显示模块标题。我的大部分模块都没有标题,但我可以解决这个问题。与 v6 不同,当您在布局视图中将鼠标悬停在窗格上时,v7 不会勾勒窗格。它有点混乱,但比我目前的方法有所改进。仍然不明白为什么我找不到或不存在显示窗格名称的模块上的属性。
-
这可能与正在使用的皮肤有关,而不是与 DNN 的版本有关。有些皮肤比其他皮肤更兼容各种 DNN 功能。您可以在站点级别指示您希望模块在处于编辑模式时使用的容器。除此之外,我很茫然!
-
如果您可以通过管理面板访问数据库,您可以像这样查询您需要的信息:select * from tabmodules where TabModuleID =
。将您的 tabmodule id 放在 的位置。 PaneName 列中的内容是您的模块所在的窗格,TabId 列是页面的 ID(请参阅您的页面原始 url)。
标签: dotnetnuke