如何以编程方式在模块安装上创建页面?

时间:2014-03-17 19:55:58

标签: dotnetnuke dotnetnuke-module

我有一个我正在处理的自定义DNN模块,当模块安装在DNN实例中时,我需要创建一个管理页面。我已经创建了处理的页面,但是在安装/升级模块时运行代码是我无法理解的。

如何在DNN模块的安装/升级过程中连接要执行的代码?

2 个答案:

答案 0 :(得分:3)

我已经成功使用IUpgradeable作为安装的一部分。您可以在dnn安装清单文件中指定核心模块类中的方法(如果使用Christoc.com模板,则为FeatureController.cs)。

此[class] .UpgradModule在应用程序重启后执行(在指定的模块版本的模块安装/配置更改后发生)。

它非常优雅" ... DNN安装安排" eventexecution"如清单中所指定的那样,您可以运行您想要的任何代码。

我的清单(modulename.dnn)有一个eventMessage属性(放在desktopModule元素之后)。例如:

<eventMessage>
  <processorType>DotNetNuke.Entities.Modules.EventMessageProcessor,DotNetNuke</processorType>
  <processorCommand>UpgradeModule</processorCommand>
  <attributes>
    <businessControllerClass>SSI.DNN.SSIReplicationModule.Controllers.FeatureController, SSIReplicationModule</businessControllerClass>
    <desktopModuleID>[DESKTOPMODULEID]</desktopModuleID>
    <upgradeVersionsList>00.00.01</upgradeVersionsList>
  </attributes>
</eventMessage>

无论如何:

<businessControllerClass>SSI.DNN.SSIReplicationModule.Controllers.FeatureController, SSIReplicationModule</businessControllerClass>

使用方法名称:

<processorCommand>UpgradeModule</processorCommand>

将在安装时执行。

希望有帮助......如果您需要创建页面的代码和模块添加,请告诉我。

我的第一篇SO帖子!!

答案 1 :(得分:0)

显然,有一种新方法可以做到,但到目前为止我还没有找到文档。它看起来像这样:

<desktopModule>
...
  <page type="Admin" common="true">
    <name>Configuration Manager</name>
    <icon>~/Icons/Sigma/Configuration_16X16_Standard.png</icon>
    <largeIcon>~/Icons/Sigma/Configuration_32X32_Standard.png</largeIcon>
    <description>Modify configuration settings for your site</description>
  </page>
  ....
</desktopModule>

不确定何时添加,但我在DNN 8.0.3的源代码中找到它。