因为公司的框架不开源,但是自己一直都有研究框架的兴趣,所以拿了一个开源的框架过来,而这个开源的框架就是Kooboo CMS.首先我无法用言语来形容我对这个CMS的赞美之词了,总之大家知道一点,这个CMS是一款非常棒的CMS,功能非常强大,代码也写得非常的好,很有研究价值。

  由于不是所有的的人对Kooboo CMS有了解,我还是做一个简单的介绍吧,算作这个系列的开篇。

http://www.cnblogs.com/hjf1223/archive/2009/08/15/Kooboo_CMS.html 刚才随便在网上搜到了一篇文章,这个人很牛(其实我觉得一般的大牛都不屑于写博客吧),所以把自己的能力都给隐藏起来了,简单的说,KOOBOO CMS就是中国的一个团队开发的一款立志于走国际化路线的CMS系统,使用的是ASP.NET MVC4 为基础框架的CMS。这在国内是很少见的,因为大多数的CMS都是JAVA或者PHP的,或者.NET的CMS都是一些老掉牙的,只有Kooboo CMS,一直更新到现在,官网的话大家可以百度一下,不过都是全英文的。Kooboo CMS所有的代码都可以在http://kooboo.codeplex.com/ 下载得到,源代码都是托管到github上面的。

  首先我觉得还是来介绍一下CMS的用法吧,然后再来说一下代码结构。CMS的安装方法很简单,就是在CodePlex下面下载源码,然后把源码解压缩,然后把文件夹挂载在本地或者远程IIS上面就OK了,具体的我就不多说了,我们还是来看看KOOBOO CMS的庐山真面目吧,下面以本机方式去运行。首先输入http://localhost:9012/admin ,就是进入管理界面,默认的账号和密码是admin/admin,我们进入Kooboo CMS的后台。

  

  由于Kooboo CMS是一个面向国际化的CMS,所以大家其实可以更改语言,我甚至看到了阿拉伯语,好吧,话题扯远了。我们还是来大概了解一下它的整体功能吧。

  1.网站集群:说得简单一点,一个CMS可以建立无数个站点,每一个站点的下面又可以有无数个子站点,这就是网站集群。

  2.关系:下面的图就是所展示的关系,关系要把站点-内容数据库-会员结合起来,简单点说,他们之间的关系就是:1个站点只能有唯一的数据库和会员数据库,但是一个数据库或者会员列表可以由多个网站共享,不错吧(*^__^*) 嘻嘻……?!

  3.内容:其实就是内容数据库,由于Kooboo CMS是一款非常强大的CMS,所以自然支持了市面上所有的数据库包括了XML(默认),但是同时只能支持一款,如果需要的话,可以在codeplex上面去下载相应的 Provider,具体的上面的链接已经写了,我就不多说了,自己去找。如果不用默认的存储方式的话(假设用的SQL SERVER),比如我用的SQL SERVER ,大家也许会问,我没有表怎么办,其实你只需要把数据库建立好了就行了,表它会自动帮你生成,如下图:

  其实它的命名是有规范的,比如Kooboo_cms是内容数据库名称,后面的就相当于“表名”,一个数据库里能存在于多个内容数据库,他们以不同的前缀区分。

  4.会员,类似于上面说的内容,就是存放会员表的那些表,当然这个属于Membership_Provider,这里我要做一点说明,有2个Provider类似,一个是Account_Provider,另一个是Membership_Provider,他们的区别在哪呢?account的是进入后台的用户,而Membership是某个网站的用户,account可以进入后台,并且有不同的角色的角色有不同权限,可以看到不同的东西,而Membership不能进入后台,至今我还没有发现前台用户和后台用户通用的方法。我们前台注册的用户是Membership类型的用户,而Account类型用户只能在后台由系统管理员去添加,我个人感觉这点还是没有DZ好,不过话说回来了,DZ是TX支持的,这个能比?

  5.网站模板:这个我没深入研究,不过简单一点说吧,模板就是一套做好的网站,你用了模板的话,所有的页面都已经做好了,当然,你可以去Kooboo CMS 的官网去下载模板,不过都是英文的,谁叫这个CMS走的是国际化的路线呢?

  6,和7我暂时还没有研究,所以暂时不说。

  

  我们随便点进去一个网站吧(怎么新建网站什么的就不说了,这个实在是太简单了)。出现如下界面:

  我们可以很清楚的看到这个网站的“组织结构图”,这些Home,About等等的东西,其实都是显示在导航条的“动态页面”,其实我个人觉得这些不能理解为分类,应该理解为不同的视图页面,其中我们可以进行开发工作,KOOBOO CMS很方便的提供了页面的修改功能,我们点进去看看:

  大家看到了吗,上面的地方,有工具栏,具体的我就不多说了,如果对这款CMS有兴趣的,可以自己去研究一下,都是很清晰的(毕竟不要自己写代码,直接拿来用),下面的地方可以添加块,这些块并不是自由添加的,而是在我们的Layout里面规定的位置。KOOBOO CMS作为一款功能强大的CMS,对网站的功能做了巨大的扩展,就比如有自己的方法去写代码,有自己的编辑器,如下图,我给大家先展示一下LAYOUT布局的设计编辑器。

  

  

  有点像DW的编辑器吧?其实唯一美中不足的,我个人觉得,就是这个编辑器没有自动提示代码的功能,如果有的话,那就太强大了,右边的还可以插入事先写好的辅助代码,怎么样牛X吧。我们可以充分的利用KOOBOO CMS现成的一些方法,比如上面的@Url.FrontUrl()...就是CMS里面自带的方法,我们可以定位到特定的文件夹下面去。不过这个最重要的,大家最关心的,我觉得还是怎么定位具体的内容框架,就像上上图说的那个地方,其实很简单,就是用   @Html.FrontHtml().Position("main2")外面带一层DIV给一个DIV叫main2就行了。这个才是布局的精华部分。

  下面我们看一下VIEW,其实这里的视图都是部分视图,你可以把它理解成一个一个的小的layout,放张图,其实和LAYOUT的写法也没什么不同。

  具体的代码怎么写,看子集的需求,还要多多看看源码,这样才知道有哪些方法可以用,用得比较好,至于帮助文档,我个人不推荐官方的,写得太笼统了,不过有兴趣的可以去codeplex上面下载,是一个CHM文档,不过是全英文的。我们可以在网站内部添加文件,或者进入物理文件夹,不过这个添加文件要有讲究的,具体可以参看sample site(KOOBOO CMS自带了一个示例网站)。

  另外KOOBOO CMS还自带了标签系统,标签可以表示一段文字,只要用到了这个标签的地方,就可以显示特定的文字,方便改动,一劳永逸。我们可以新建页面,而页面是建立在Layout布局页面的基础上的,每一个页面对应一个CSHTML VIEW层。

  其实我觉得这个CMS最强大的地方还是在于自定义类型,就比如你有一个类型,这个类型可以实现不同的功能,说简单一点,你就是可以DIY创建功能,比如我想自由组装自己的内容页面,我想有一个标题,有一个副标题,在副标题的下面的左可以创建视频,右边创建文本编辑器,我好想没跟大家说清楚,说简单一点吧,其实就是这样。

  然后像这样,可以选择不同的类型。

然后最终就像这样:

就是不同的内容类别 = = ,好像我描述复杂了。

内容可以绑定特定的内容类别。

然后我们可以在页面里面把这个块添加进来,就像这样。

  里面会显示内容类型,好了,今天我还是不介绍代码了吧,以后有空的话介绍下代码结构。

Kooboo CMS 无聊随笔 (1)的更多相关文章

  1. Kooboo CMS 无聊随笔(2)

    上次写了一篇博客 http://www.cnblogs.com/kmsfan/p/Kooboo_CMS_suibi.html 作为这个系列的开篇,简单的介绍了一下Kooboo CMS的一些基本情况和界 ...

  2. Kooboo CMS技术文档之五:站点配置管理

    站点关系 管理站点间的关系,站点可以有子站点,子站点继承父站点的部分配置数据,同时子站点还可以根据需要,本地化由父站点继承而来的数据.通过继承和本地化,可以让子站点在用最小的改动代价,来完成一个与父站 ...

  3. Kooboo CMS技术文档之二:Kooboo CMS的安装步骤

    在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...

  4. Kooboo CMS技术文档之一:Kooboo CMS技术背景

    语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...

  5. Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分

    Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...

  6. Kooboo CMS技术文档之三:切换数据存储方式

    切换数据存储方式包括以下几种: 将文本内容存储在SqlServer.MySQL.MongoDB等数据库中 将站点配置信息存储在数据库中 将后台用户信息存储在数据库中 将会员信息存储在数据库中 将图片. ...

  7. Kooboo CMS 之TextContent详解

    TextCotent 在Kooboo.CMS.Content下面,在View中有使用到这个模型层. TextContent继承了ContentBase,而ContentBase是由2个部分类组成的,一 ...

  8. Kooboo CMS - 之后台注册用户流程方法。

    今天决定写一篇好一点的文章,吼吼!首先我们必须找到这个文件,这个文件是UsersController.cs,我们找到和添加新用户有关的方法,如下代码: public virtual ActionRes ...

  9. Kooboo CMS - @Html.FrontHtml().Meta()详解。

    下面是代码: public virtual IHtmlString Meta() { AggregateHtmlString htmlStrings = new AggregateHtmlString ...

随机推荐

  1. CentOS 安装 gcc-c++

    由于网络环境的问题,很难在线安装,可以 直接挂载安装盘文件,然后在Pacakage 中进行本地安装

  2. hadoop+tachyon+spark的zybo cluster集群综合配置

    1.zybo cluster 架构简述: 1.1 zybo cluster 包含5块zybo 开发板组成一个集群,zybo的boot文件为digilent zybo reference design提 ...

  3. WCF 程序入门

    WCF是微软公司推出的符合SOA思想的分布式应用程序技术框架和编程模型,是建立在消息通信这一概念基础上运行的一个运行时服务系统. WCF编程模型的目标是实现以下两个实体之间的通信:WCF服务端和WCF ...

  4. 报文解析及CRC类

    /// <summary> /// 报文解析转换类 /// </summary> public class DatagramConvert { public static En ...

  5. Java基础系列——IO流

    ---恢复内容开始--- Java对数据的操作都是通过流的方式,数据的输入和输出是相对内存来说的,将外设的数据读到内存:输入流:将内存的数据写到外设:输出流. 流按操作数据分为两种:字节流,字符流. ...

  6. CYQ.Data V4系列全面开源(2013-08-04)

    致各位.NET开发者: 考虑到本人开源作品太多,个人维护力度有限,故自2013-08-04开始,开放原本需要授权使用的V4系列的最高版本V4.55的框架源码,同时也开放相对应的辅助工具源码,自此,V4 ...

  7. 初试Office 365企业版E3

    Microsoft Office 365 团队给了所有现任的MVP 12个月的微软 Office 365 企业 E3 订阅,今天激活账号并试用了一下,发现非常强大,本文简要介绍下Office 365 ...

  8. 单元测试模拟框架:Nsubstitute

         Nsubstitute是一个开源的框架,源码是C#实现的.你可以在这里获得它的源码:https://github.com/nsubstitute/NSubstitute NSubstitut ...

  9. 在JavaScript中对HTML进行反转义

    在JavaScript中对字符串进行转义和反转义操作,常用的方法莫过于使用encodeURI (decodeURI).encodeURIComponent (decodeURIComponent)这几 ...

  10. 《Entity Framework 6 Recipes》中文翻译系列 (42) ------ 第八章 POCO之使用POCO

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第八章 POCO 对象不应该知道如何保存它们,加载它们或者过滤它们.这是软件开发中熟 ...