【问题标题】:How to Programatically Create Page on Module Installation?如何以编程方式创建模块安装页面?
【发布时间】:2014-03-17 19:55:58
【问题描述】:

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

如何连接代码以作为 DNN 模块安装/升级的一部分执行?

【问题讨论】:

    标签: dotnetnuke dotnetnuke-module


    【解决方案1】:

    我在安装过程中成功使用了 IUpgradeable。您在 dnn 安装清单文件中指定核心模块类(FeatureController.cs,如果使用 Christoc.com 模板)中的方法。

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

    它非常“优雅”... DNN 安装会按照清单中的规定安排“事件执行”,您可以运行任何您想要的代码。

    我的清单 (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 帖子!

    【讨论】:

    • PS:由于事件调度,这是一个要调试的PITA。在尝试在 install/IUpgradeable 调用中实现之前,请确保您的代码已通过视图控件中的按钮/调用进行了良好测试。
    【解决方案2】:

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

    <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 的源代码中找到了它。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多