上次写了一篇博客 http://www.cnblogs.com/kmsfan/p/Kooboo_CMS_suibi.html 作为这个系列的开篇,简单的介绍了一下Kooboo CMS的一些基本情况和界面。这一次我打算再写一篇关于kooboo CMS的文章,不过我还是不打算讲代码,我还是要讲一下使用方法,我只是觉得,如果一个人连这个东西都不会用,何谈二次开发呢?好吧,废话不多说,还是开始吧。
这一次我会讲50%以上的用法,涉及了整个Kooboo CMS,另外50%以后再说,其实我是没学到,哈哈哈哈,闲话不多说开始,Kooboo CMS最大的缺点就是走国际化路线,而且它的帮助文档非常的陈旧和简单,所以很多时候,只能靠自己摸索。
我们来分成几个模块来说吧。
网站集群
网站的导入导出
先来介绍一下网站的导入导出功能吧,这个是一个非常好的功能,可以方便的对网站的一切进行备份和还原。说白一点,当你导出数据的时候,其实就是导出了整套网站的模板。
导出
我们先来点一下导出按钮,然后会有3个选项,可以导出数据库,网站,或者网站数据库都导入,这里我们为了一劳永逸,就选择都导出。
如果你还有子站点的话,还可以同时导出子站点的数据,好了,下面我们来分析一下导出的ZIP文件。
Files是网站的文件,比如你可以放图片进去,然后用固定的方法去调用到这个文件夹下的文件。当然这属于源码范畴了。这里的文件对应开发->文件里面的东西。
Lables 对应 开发->标签 下的标签。
Pages其实简单点说,就是一些config文件,下面是我随便找的一个CONFIG文件,这个文件是根据你的设计自动生成的。
<?xml version="1.0" encoding="utf-8"?>
<Page xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Kooboo.CMS.Sites.Models">
<LastUpdateDate>2015-04-10T12:42:08.6135235Z</LastUpdateDate>
<CacheToDisk>false</CacheToDisk>
<RequireHttps>false</RequireHttps>
<IsDefault>true</IsDefault>
<EnableTheming>true</EnableTheming>
<EnableScript>true</EnableScript>
<HtmlMeta>
<Author>KMSFan</Author>
<Keywords></Keywords>
<Description></Description>
<Customs xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
<HtmlTitle>冒险岛2中文社区</HtmlTitle>
<Canonical></Canonical>
</HtmlMeta>
<Route>
<Identifier></Identifier>
<RoutePath></RoutePath>
<Defaults xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
<ExternalUrl></ExternalUrl>
<LinkTarget i:nil="true" />
</Route>
<Navigation>
<Show>true</Show>
<DisplayText>主页</DisplayText>
<Order>0</Order>
<ShowInCrumb>true</ShowInCrumb>
</Navigation>
<Permission>
<AllowGroups xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
<AuthorizeMenu>false</AuthorizeMenu>
<RequireMember>false</RequireMember>
<UnauthorizedUrl></UnauthorizedUrl>
</Permission>
<Layout>test</Layout>
<PagePositions>
<PagePosition i:type="ViewPosition">
<PagePositionId>HYH3X</PagePositionId>
<LayoutPositionId>top</LayoutPositionId>
<Order>0</Order>
<SkipError>false</SkipError>
<ViewName>header2</ViewName>
<Parameters i:nil="true" />
<OutputCache>
<Duration>0</Duration>
<EnableCaching>false</EnableCaching>
<ExpirationPolicy>AbsoluteExpiration</ExpirationPolicy>
</OutputCache>
</PagePosition>
<PagePosition i:type="ViewPosition">
<PagePositionId>2ZXDK</PagePositionId>
<LayoutPositionId>main2</LayoutPositionId>
<Order>0</Order>
<SkipError>false</SkipError>
<ViewName>main</ViewName>
<Parameters i:nil="true" />
<OutputCache>
<Duration>0</Duration>
<EnableCaching>false</EnableCaching>
<ExpirationPolicy>AbsoluteExpiration</ExpirationPolicy>
</OutputCache>
</PagePosition>
</PagePositions>
<DataRules />
<Plugins xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
<PageType>Default</PageType>
<OutputCache>
<Duration>0</Duration>
<EnableCaching>false</EnableCaching>
<ExpirationPolicy>AbsoluteExpiration</ExpirationPolicy>
</OutputCache>
<CustomFields xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
<Published>true</Published>
<UserName>admin</UserName>
<ContentTitle>冒险岛2中文社区</ContentTitle>
<Searchable>false</Searchable>
</Page>Script其实就是一个单独的文件夹存储脚本文件的,也可以在开发->脚本 里面找到对应的文件。
Template 文件夹里面有2个子文件夹,一个是Layout,另一个是View,里面的所有的单个的VIEW或者Layout都有一个template.cshtml和setting.config文件,我们不仅可以使用Kooboo CMS提供的编辑器,还可以把整个网站弄到Visual Studio里面来编辑测试,这样可以大大提高工作效率。
Theme 其实也是一个单独的存放样式的文件夹,也可以在开发底下找到。
WebEvent底下都是日志文件,这个没什么好说的,就是错误信息。
下面介绍一下导入网站的功能,我们先来看一下导入界面,其实这里做一点说明,如果是下载网上的在线模板新建网站,其实和导入的思路一样,只是换了个样子。
父站:你可以把你导入的网站看成是一个子站点,如果留空的话,那么导入的站点是一个父站点。
内容数据库和会员数据库:上一篇已经做了说明,这里简单说一下,就是你的导出里面的ContentDatabase.zip和Membership.zip文件。
这里如果你有站点的所有信息的话,我个人建议先在控制面板里面分别导入这2种数据库,然后这里只需要选择就行了,网站和数据库2步导入。
这里就简单的说一下几个难点。
下面会告诉你一些秘密,这个要牵扯到后面说的知识点,就是这个内容底下的文件夹,这个文件夹里面有很多的文件,你先这么理解就OK了。
注意:这个是大家容易犯的错误,犯什么错误呢,当我写了一个新的视图,然后和网站的示例视图一模一样,但是具体报错了,在使用的时候,百思不得其解。
上面的只是我的一个示例,大家如果不信的话可以把那个可以运行的VIEW复制一个新的,然后使用它,会发现也是报错,其实问题的关键很难想到,原因我开始说了,Kooboo CMS的帮助文档不仅是英文的,而且还很少,很多地方都没写,所以导致开发者走了很多弯路,其实真正的原因就在于我开始图里画的圆框。如果你新建了一个CMS,是不存在那个东西的,因为我们需要ViewBag不为空,就需要做一些设置,我这里打开示例网站已经写好的。
数据名称:就是你的ViewBag.XXX后面的东西,Kooboo CMS提供了2种方式去获取数据,一种是从外部的HTTP返回的Json或者XML中获取,另一种就是从已有的数据源里面获取,你可以新建一个试试看,具体的我就不操作了,内容过滤什么的我自己都没怎么试一试,不过大体都这样,大家可以自己找些测试数据,多试几遍就出来了。
我随便打开一个给大家讲解一下重点,这个地方不太难,开始说过那个导出功能的时候介绍了一下文件夹的作用,其中说到了这个页面相关的都是config文件组成的,这里其实就是一个生成CONFIG文件的过程,哈哈。
这里主要讲一下内容类型和内容,这2块听名字都是息息相关的。
我打开一个已经做好的内容类型,给大家讲解一下
大家看看,这像什么,像不像一张表呢?里面有很多的字段?其实我告诉你,只要你建立了一个内容类型,对应的数据库里就会生成一张表!
我们看看有哪些类型。
这么多类型,其实意思很简单,这些东西就是控件,这里要牵扯到内容,说白一点,内容类型和内容是一对多的关系,我可以设置内容的类型,如果我这里有几个控件的话,
那么当我新建内容的时候,就会显示几个控件让我去添加具体的详细内容。不信你看。
这些都是上面的那些字段信息,怎么样,明白了吧?
内容和内容类型要结合起来,这样,不同的内容都是放在不同的类型的文件夹下面的,我们来新建一个文件夹。
我们这里选择一个做好的Article
这里非常的重要。
大家可以注意到上面的Comment是可以点击的,点击进去可以看到多条或一条评论。
只有当你设置了会员数据库的时候,那么才会有会员,这个不是强制的,一个网站也可能没有会员,这一块我也没有多研究什么,大家自己有空看看,不难。
这篇就介绍完了,如果以后发现什么新东西会继续介绍用法,不过从下篇随笔开始,我就要介绍代码了。我打算先从架构讲起~~~~