ZKEACMS中的功能都是比较通用的功能,并不一定能满足所有的用户需求,您可以使用ZKEACMS的源代码进行开发和扩展新的功能。

开发环境

  • Visual Studio 2013 以上
  • .Net Core版本要求Visual Studio 2017 15.3+,并且安装了最新版本的.Net Core SDK
  • 数据库:Microsoft SqlServer 2008+、MySQL 5.6+、SQLite3

Visual Studio插件

在开始开发ZKEACMS之前,请在您的Visual Studio中安装以下插件:

下载程序源代码

ZKEACMS的开源地址:

如果下载速度慢,可以使用Gitee仓库:

推荐使用git clone下载代码,请按自己的需要下载MVC4版本或者.Net Core版本。我们推荐您使用.Net Core版本,这是我们的主要维护版本。

下载ZKEACMS MVC4版本

git clone https://github.com/SeriaWei/ASP.NET-MVC-CMS.git

下载 ZKEACMS .Net Core版本

git clone https://github.com/SeriaWei/ZKEACMS.Core.git

如果您不会使用git下载,可以参考这篇文章 《如何使用git下载ZKEACMS源代码》

在开始之前,请先生成数据库:http://www.zkea.net/zkeacms/document/createdatabase

接下来就可以使用Visual Studio来打开项目了,双击解决方案文件(ZKEACMS.sln)打开项目。如果是.Net Core版本,您还可以使用Visual Studio Code来开发。

数据库连接字符串

请实际情况修改数据库连接字符串(Connection String)

  • 打开 web.config 跟据实际情况修改数据库连接字符串
  • .Net Core 版本的连接字符串在 appsettings.json 中修改

运行项目

设置ZKEASOFT.CMS.Web(MVC4版本)、ZKEACMS.WebHost(.Net Core版本)项目为启动项目。

然后按F6生成解决方案,等待解决方案生成完成:

按下来就可以按Ctrl+F5或者F5运行项目了。

如果是.Net Core版本,建意不要使用IIS Express而是使用控制台来运行程序,以免插件生成失败。设置使用ZKEACMS.WebHost来运行程序:

注意:第一次打开项目不要直接按F5运行,请一定要先做一次生成解决方案(F6)

当您在开发.Net Core版本的ZKEACMS时,查看这篇文章可以提高您的开发效率:

https://www.cnblogs.com/seriawei/p/7444728.html

程序入口

在纸壳CMS中,给路由定义了优先级,所以在处理用户请求地址的时候,通过路由的优先级来决定访问的流程走向,如果找到匹配的路由,则优先走该路由对应的Controller -> Action -> View,如果没有匹配的路由,则走路由优先权最低“全捕捉”路由来处理用户的请求,最后返回响应。

优先级最低的“全捕捉”路由({*path})是用来处理用户创建的页面。所有这些请求,都会到PageController -> Main(MVC4版本是PageController -> PreView)进行处理。所以前端页面是没有独立的Action进行处理的,也没有真实的物理视图文件。具体原理:https://www.zkea.net/zkeacms/document/principle

所以当访问~/index时,就到了PageController -> Main进行处理。

而后端统一使用controller,action通配路由:~/admin/{controller}/{action}

发布

ZKEACMS的发布有些不一样,如果直接使用Visual Studio中的发布来发布ZKEACMS的话是不能正常运行的。请先查看我们的发布说明:

ZKEACMS 发布

http://www.zkea.net/zkeacms/document/publish

ZKEACMS Core 发布

http://www.zkea.net/zkeacms/document/publish/core