开发第一个插件

在此,我们将从零开始开发一个极简插件:Hello World。插件只实现一个功能:SiteServer CMS 后台显示插件菜单,点击进入页面显示Hello World。

1、使用Visual Studio 2017 创建项目与解决方案

首先,打开Visual Studio 2017,点击新建项目。

创建项目与解决方案

项目类型选择类库(.NET Framework),使用插件的Id作为项目名称,框架通常采用.NET Framework 4.5.2。

创建完毕项目后Visual Studio会自动生成Class1.cs。

2、安装NuGet包 SiteServer.Plugin

在 Visual Studio 中右键项目,在弹出菜单中选择 管理 NuGet 程序包,进入NuGet包管理界面。

在搜索框中输入 SiteServer.Plugin,获取到插件开发包,点击 安装 按钮。

安装NuGet包

安装完毕SiteServer.Plugin开发包,就可以开始实际编写插件了!

3、编写 Hello World 插件代码

将 Class1.cs改为Main.cs,输入代码:

  1. using SiteServer.Plugin;
  2. namespace SS.HelloWorld
  3. {
  4. public class Main : PluginBase
  5. {
  6. public override void Startup(IService service)
  7. {
  8. service.AddSiteMenu(siteId => new Menu
  9. {
  10. Text = "Hello World",
  11. Href = "index.html"
  12. });
  13. }
  14. }
  15. }

这就完成了HelloWorld插件的代码编写,这段代码实现了一个插件类,继承了插件基类PluginBase,重写了插件Startup的方法,在插件载入时添加插件菜单,菜单链接到index.html页面中。

接下来在 Visual Studio 中创建index.html静态页面,输入代码:

  1. <!DOCTYPE html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title></title>
  6. </head>
  7. <body>
  8. <h2 style="font-size: 36px;text-align: center;margin-top: 100px;">Hello World</h2>
  9. </body>
  10. </html>

接下来在 Visual Studio 中生成解决方案,将.cs文件编译为.dll程序包。

4、创建 Hello World 插件配置文件

每个插件都需要一个以 插件Id.nuspec 作为文件名的XML格式配置文件,用于设置此插件的名称、地址、许可协议等信息。

在 Visual Studio 中创建文件 SS.HelloWorld.nuspec,输入代码:

  1. <?xml version="1.0"?>
  2. <package>
  3. <metadata>
  4. <id>SS.HelloWorld</id>
  5. <version>1.0.0</version>
  6. <title>HelloWorld插件</title>
  7. <authors>SiteServer CMS</authors>
  8. <owners>siteserver</owners>
  9. <licenseUrl>https://github.com/siteserver/SS.HelloWorld/blob/master/LICENSE</licenseUrl>
  10. <projectUrl>https://github.com/siteserver/SS.HelloWorld</projectUrl>
  11. <iconUrl></iconUrl>
  12. <requireLicenseAcceptance>false</requireLicenseAcceptance>
  13. <releaseNotes></releaseNotes>
  14. <description>HelloWorld插件</description>
  15. <copyright>Copyright ©2018 SiteServer CMS</copyright>
  16. <tags>SiteServer CMS HelloWorld Plugin</tags>
  17. </metadata>
  18. </package>

至此,HelloWorld 插件开发完毕,我们可以部署到实际环境中使用了!

5、部署插件

部署插件非常简单,只需要将整个文件夹拷贝至 SiteServer CMS 系统根目录下的 SiteFiles/Plugins 文件夹中即可:

部署插件

将文件夹拷贝完成后,需要进入 SiteServer CMS 后台,在插件管理页面中点击 重新加载所有插件,之后就能在管理管理中查看此插件了:

部署插件

同时,我们看到系统左侧出现了菜单 Hello World,点击后进入页面index.html,显示文字:

部署插件

6、HelloWorld 代码下载

我们已经将HelloWorld 插件的代码托管在 Github上,请访问地址https://github.com/siteserver/SS.HelloWorld 获取项目代码。