开发第一个插件
在此,我们将从零开始开发一个极简插件: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,获取到插件开发包,点击 安装 按钮。

安装完毕SiteServer.Plugin开发包,就可以开始实际编写插件了!
3、编写 Hello World 插件代码
将 Class1.cs改为Main.cs,输入代码:
using SiteServer.Plugin;namespace SS.HelloWorld{public class Main : PluginBase{public override void Startup(IService service){service.AddSiteMenu(siteId => new Menu{Text = "Hello World",Href = "index.html"});}}}
这就完成了HelloWorld插件的代码编写,这段代码实现了一个插件类,继承了插件基类PluginBase,重写了插件Startup的方法,在插件载入时添加插件菜单,菜单链接到index.html页面中。
接下来在 Visual Studio 中创建index.html静态页面,输入代码:
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" /><title></title></head><body><h2 style="font-size: 36px;text-align: center;margin-top: 100px;">Hello World</h2></body></html>
接下来在 Visual Studio 中生成解决方案,将.cs文件编译为.dll程序包。
4、创建 Hello World 插件配置文件
每个插件都需要一个以 插件Id.nuspec 作为文件名的XML格式配置文件,用于设置此插件的名称、地址、许可协议等信息。
在 Visual Studio 中创建文件 SS.HelloWorld.nuspec,输入代码:
<?xml version="1.0"?><package><metadata><id>SS.HelloWorld</id><version>1.0.0</version><title>HelloWorld插件</title><authors>SiteServer CMS</authors><owners>siteserver</owners><licenseUrl>https://github.com/siteserver/SS.HelloWorld/blob/master/LICENSE</licenseUrl><projectUrl>https://github.com/siteserver/SS.HelloWorld</projectUrl><iconUrl></iconUrl><requireLicenseAcceptance>false</requireLicenseAcceptance><releaseNotes></releaseNotes><description>HelloWorld插件</description><copyright>Copyright ©2018 SiteServer CMS</copyright><tags>SiteServer CMS HelloWorld Plugin</tags></metadata></package>
至此,HelloWorld 插件开发完毕,我们可以部署到实际环境中使用了!
5、部署插件
部署插件非常简单,只需要将整个文件夹拷贝至 SiteServer CMS 系统根目录下的 SiteFiles/Plugins 文件夹中即可:

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

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

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