二次开发

提示:文档中心正在完善中,我们将不断发布新文档,敬请期待...

SiteServer CMS 5.0 源码入门

一、准备开发环境

想学习SiteServer CMS的或者想利用SiteServer CMS源码进行项目定制开发的程序员,需要提前准备好开发环境。具体要求如下:

1、.net framework 4.5.2或以上版本;

2、Visual Studio 2015或以上版本;

3、SQLServer 2008及以上版本或MySql 5.0 及以上版本;

4、NodeJS 最新版(可选);

说明:如果需要修改用户中心的前台页面代码,或者需要重新制作安装包或升级包,才需要安装NodeJS。

二、获取代码

官方在GitHub上提供的源码,地址为:https://github.com/siteserver/cms

通过Git命令或者从上图页面直接下载最新源码。

产品使用文档或开发文档,请关注官方的开发者中心:http://developer.siteserver.cn/

三、源码结构初析

1、解压源码压缩包

注意:如果只修改SiteServer CMS后台功能或后台界面的话,只需要关注source文件夹里的代码即可。

2、Visual Studio 打开C#代码

注意:

  • SiteServer.API 项目对应源代码解压出来的文件夹是source文件夹下的SiteServer.Web文件夹,并没有一个名叫SiteServer.API的文件夹。

  • SiteServer.API 并不是提供给第三方系统与SiteServer数据交换用的,而是SiteServer系统内部使用的一些API接口,比如用户中心现在前后端完全分离,前端用ReactJS来实现,和后端的数据交换就是通过SiteServer.API来实现的。

  • SiteServer.Plugins才刚刚开始,标准格式还没完全定下来,现在官方已经开发了第一个插件:阿里云存储插件,即站点文件可以支持云存储。具体源码在:https://github.com/siteserver/Plugin.Oss

四、安装SiteServer CMS

1、新建空数据库,设为启动项目

在Sql Server Management Studio中新建名为cms5.0的空数据库。在Visual Studio中把SiteServer.API设置为启动项目。

2、安装SiteServer CMS

如果是下载完源码第一次运行程序,则会需要进入安装SiteServer CMS的流程。具体是在Visual Studio中按F5开始调试,出现如下空白界面:

然后在浏览器地址中后面加入/siteserver,再回车,即地址变成:

http://localhost:58059/siteserver,则会出现如下安装界面:

按界面提示点下一步即可完成安装。具体安装说明可参考:http://docs.siteserver.cn/getting-started/index.html

安装完成之后点击进入后台管理,需要新建站点,如下图:

输入站点名称即可以创建一个空的新站点,并自动进入后台站点管理界面:

五、开始修改调试源代码

经过前面的操作,我们已经把SiteServer CMS运行起来了,并已经经入了调试状态。现在我们就以一个具体例子来演示一下如何进行代码修改并调试。

任务:把下图中的红框内容部分改成“欢迎使用SiteServer CMS 管理后台”

1、找到对应前台页面文件

运行程序,登录后台,进入到主界面。然后在红框位置按鼠标右键,点击“查看框架源代码”,弹出如下图:

通过上图可以看到,本页面路径是在siteserver文件夹里的pageRight.aspx文件,好对应源代码解压出来的位置就是:source\SiteServer.Web\SiteServer\pageRight.aspx。此时我们可以通过Visual Studio、Visual Studio Code或Atom编辑器打开此文件:

通过上图两个黄框,我们可以找到两个重要信息:

一个是控制pageRight.aspx文件业务逻辑的CS代码文件类:SiteServer.BackgroundPages.PageRight;

另一个是显示欢迎信息的asp.net服务器控件ID为LtlWelcome。

2、找到前台页面对应的后端c#代码文件

通过前一步找到控制pageRight.aspx文件业务逻辑的CS代码文件类是SiteServer.BackgroundPages.PageRight,这很清楚就是在SiteServer.BackgroundPages项目中,在Visual Studio中很容易就找到PageRight.cs文件:

在Visual Studio中打开PageRight.cs文件:

很清楚就看到了控制显示欢迎信息的服务器控件LtlWelcome。

3、修改并调试代码

在修改代码之前需要停止调试,然后把代码进行如下修改,并设置断点(F9),然后启动F5运行程序并进入调试状态,登录之后会是这样:

点击继续之后,出来的结果就是这样:

至此,我们就完成了开始提出的修改任务,并也能断点进行调试。

SiteServer CMS 5.0 源码入门的更多相关文章

  1. [图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]

    [图解tensorflow源码] 入门准备工作 附常用的矩阵计算工具[转] Link: https://www.cnblogs.com/yao62995/p/5773142.html  tensorf ...

  2. Vue.js 2.0源码解析之前端渲染篇

    一.前言 Vue.js框架是目前比较火的MVVM框架之一,简单易上手的学习曲线,友好的官方文档,配套的构建工具,让Vue.js在2016大放异彩,大有赶超React之势.前不久Vue.js 2.0正式 ...

  3. Spring源码入门——DefaultBeanNameGenerator解析 转发 https://www.cnblogs.com/jason0529/p/5272265.html

    Spring源码入门——DefaultBeanNameGenerator解析   我们知道在spring中每个bean都要有一个id或者name标示每个唯一的bean,在xml中定义一个bean可以指 ...

  4. AFNetworking 3.0 源码解读 总结(干货)(下)

    承接上一篇AFNetworking 3.0 源码解读 总结(干货)(上) 21.网络服务类型NSURLRequestNetworkServiceType 示例代码: typedef NS_ENUM(N ...

  5. AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking

    AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...

  6. AFNetworking 3.0 源码解读(十)之 UIActivityIndicatorView/UIRefreshControl/UIImageView + AFNetworking

    我们应该看到过很多类似这样的例子:某个控件拥有加载网络图片的能力.但这究竟是怎么做到的呢?看完这篇文章就明白了. 前言 这篇我们会介绍 AFNetworking 中的3个UIKit中的分类.UIAct ...

  7. AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager

    让我们的APP像艺术品一样优雅,开发工程师更像是一名匠人,不仅需要精湛的技艺,而且要有一颗匠心. 前言 AFNetworkActivityIndicatorManager 是对状态栏中网络激活那个小控 ...

  8. AFNetworking 3.0 源码解读(八)之 AFImageDownloader

    AFImageDownloader 这个类对写DownloadManager有很大的借鉴意义.在平时的开发中,当我们使用UIImageView加载一个网络上的图片时,其原理就是把图片下载下来,然后再赋 ...

  9. AFNetworking 3.0 源码解读(七)之 AFAutoPurgingImageCache

    这篇我们就要介绍AFAutoPurgingImageCache这个类了.这个类给了我们临时管理图片内存的能力. 前言 假如说我们要写一个通用的网络框架,除了必备的请求数据的方法外,必须提供一个下载器来 ...

随机推荐

  1. UVA 11354 - Bond (最小生成树 + 树链剖分)

    题目链接~~> 做题感悟:这题開始看到时感觉不是树不优点理,一想能够用 Kruskal 处理成树 ,然后就好攻克了. 解题思路: 先用 Kruskal 处理出最小生成树.然后用树链剖分 + 线段 ...

  2. 出租车Jt/T 905协议与部标1078协议融合的网约车视频监控平台

    出租车jt/t 905协议,是jt/t 808协议的一个变种,设计者将部标808协议拿过来,并不是单纯的增加网约车相关的指令集,而且对原有的指令如定位0×0200指令也进行了修改,经过一通剧烈的修改, ...

  3. memcached windows 修改端口

    要想在windows中使用memcached,必须先下载memcached for win32安装. 下载地址:http://jehiah.cz/projects/memcached-win32/ 解 ...

  4. CIA 读书笔记

    对此书的评价只有八个字:粗制滥造,到处粘贴. 对于通过表情识别人情绪的教程,最好要有图,图很重要,也最好有案例.

  5. sublime text 配置golang开发环境

    一.准备工作: 1.下载Go语言包: https://code.google.com/p/go/downloads/list 2.下载Git: https://code.google.com/p/ms ...

  6. JavaWeb知识点总结一

    JavaWeb知识点总结一 常见的状态码以及其含义 一些常见HTTP状态码为: -- 服务器成功返回网页 -- 服务器不理解请求的语法 -- 请求的网页不存在 -- 服务不可用 常见HTTP状态码大全 ...

  7. yum lock 解决方法

    方法一: # ps aux | grep yum # kill -9 pid 方法二:可以通过执行rm -rf /var/run/yum.pid 来强行解除锁定,然后你的yum就可以运行了 解释: [ ...

  8. 探究css中各种情况下的元素的垂直和水平居中的问题(面试题)

    今天各种纠结,真的是不想写东西(ps 我比较懒)但是老是有人问这个问题,于是我就本着分享精神还是整理一下,好了废话不多说 开始上代码 问题:外边是一个容器,容器中还有一个容器,那么请问怎么让里边的容器 ...

  9. 逻辑英语 第四季 Speaking and Listening

    1. 发音的变革 背字典:牛津双解/朗文英汉 a. 如何一分钟变伦敦腔 发音有两种:伦敦腔/其他 生理分析: ① 后置发音:瞬间华丽变声第一步 东方人靠嘴巴发音: 西方人用胸腔发音[有共鸣] 方法1: ...

  10. fkwの题目(祝松松生日快乐!)

    麓山国际实验学校 傅少,匡哥和巨夫出的题目(共3道) 一.题目概况 题目名称 打地铺 泡妹子 开房间 题目类型 传统 传统 传统 可执行文件名 deeeep soccer room 输入文件名 dee ...