我有一个我正在处理的自定义DNN模块,当模块安装在DNN实例中时,我需要创建一个管理页面。我已经创建了处理的页面,但是在安装/升级模块时运行代码是我无法理解的。
如何在DNN模块的安装/升级过程中连接要执行的代码?
答案 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的源代码中找到它。