东莞市连易网络科技有限公司
东莞市连易网络科技有限公司
  • 网站
  • 用户
  • 购物车
  • 购物车
  • 搜索
  • 网站
  • 用户
帮助
帮助
开发文档 管理依赖关系
  • 用户文档
  • 开发文档
  • API文档
  • 提及
  • 标签
  • 更多
  • 取消
  • 新建
  • +开始
  • +UI 自定义
  • +外部集成
  • -插件/框架扩展
    • -插件
      • 异常和日志记录
      • 插件生命周期
      • -插件示例
        • 使用小组件从插件渲染内容
        • 公开数据给外部源
        • 公开配置选项
        • 创建动态
        • +创建自定义应用程序和内容
        • 基于模板的电子邮件
        • 处理事件
        • 处理内容中的嵌入文件
        • 定义权限
        • 扩展规则支持
        • 文件交互
        • 文件查看器
        • 注册模板令牌
        • 管理依赖关系
        • 管理物理文件存储
        • 翻译插件文本
        • 通知
    • +设置开发环境
    • +进程 API

管理依赖关系

组插件可以使用 IPluginGroup 使您的项目的设置和配置更易于管理。这将允许您组织和创建多个插件,并在管理面板中对它们进行分组。

为什么要对插件进行分组?

创建内容类型时,可能需要添加核心服务的多个集成,例如:IRateableContentType,ICommentableContentType 和 ILikeableContentType。通过创建组插件,这些插件将在启用组插件时同时启用。

创建组插件

组插件接口只有一个名为“Plugins”的属性。它返回要分组的类型列表。在此示例中,有三个实现 IPlugin 的简单类,这些类在 IPluginGroup 接口分组。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Limyee.Extensibility.Version1;

namespace Samples
{
    public class MyGroupPlugin : IPluginGroup
    {
        public string Name
        {
            get { return "组插件"; }
        }

        public string Description
        {
            get { return "此插件将演示IPluginGroup的工作原理"; }
        }

        public void Initialize()
        {
            //No initialization required for IPluginGroup
        }

        public IEnumerable<Type> Plugins
        {
            get
            {
                return new[]
                {
                    typeof (MyPluginOne),
                    typeof (MyPluginTwo),
                    typeof (MyPluginThree)
                };
            }
        }
    }

    public class MyPluginOne : IPlugin
    {
        public string Name
        {
            get { return "插件一"; }
        }

        public string Description
        {
            get { return "测试插件组的第 1 部分(共 3 部分)"; }
        }

        public void Initialize() { }
    }

    public class MyPluginTwo : IPlugin
    {
        public string Name
        {
            get { return "插件二"; }
        }

        public string Description
        {
            get { return "测试插件组的第 2 部分(共 3 部分)"; }
        }

        public void Initialize() { }
    }

    public class MyPluginThree : IPlugin
    {
        public string Name
        {
            get { return "插件三"; }
        }

        public string Description
        {
            get { return "测试插件组的第 3 部分(共 3 部分)"; }
        }

        public void Initialize() { }
    }
}

以下是组插件在 UI 中的显示形式。

  • 分享
  • 历史
  • 更多
  • 取消
相关
推荐
Copyright © 2021 东莞市连易网络科技有限公司. All rights reserved.
Powered by Limyee Commerce System(3.0.0). © 2014 - 2025 Limyee Inc.