深入讲解SiteServer CMS:辅助表

如果您觉得文章对您有点用,麻烦在阅读完、收藏时、转发后,
顺手帮忙点个赞,有可能的话再留个言,再有可能的话加个关注,
多一些点赞、留言和关注,是我继续努力分享的绝佳动力。

一、写在前面的话

终于可以开始写深入讲解SiteServer CMS的系列文章了。但在这之前还是回顾一下之前的五篇文章,就好比大厨在做一场精美宴席之前准备的食材一样。巧妇难为无米之炊,所以开始深入学习SiteServer CMS之前还是需要好好阅读这几篇文章:

  1. SiteServer安装前的准备工作 (提前购买食材和炊具)
  2. 手把手教你如何安装SiteServer (清洗食材和安装炊具)
  3. 一步一步演示SiteServer CMS建站全过程(一) (提前演习炒菜所有步骤)
  4. 一步一步演示SiteServer CMS建站全过程(二)
  5. SiteServer CMS 5.0管理界面简述 (熟悉厨房环境和所有工具)

另外,再提醒一下,本篇基本上是清一色文字,没有图片,读起来有点费脑细胞,没办法,要请透好像不是那么容易……

二、为什么需要辅助表?

辅助表,就是数据库中的一张一张的表,所以它的作用自然也就是说用于存储数据的。既然和普通表没什么区别,那为什么不事先建好呢?为什么其他好多CMS系统都没有这个功能呢?这就涉及到不同CMS厂商对内容管理的理解了,市面上大部分对CMS的理解就是新闻管理,所以系统直接带了用于新闻存储的表了。

SiteServer CMS的定位是做真正的内容管理系统,管理所有结构化的数据,而不仅仅管理新闻。只要是能结构化的数据,比如商品信息、人员信息、资产信息、项目信息等等,都可以通过SiteServer CMS系统进行管理。这就决定了SiteServer CMS必须具备良好的可扩展性。存储不同的数据就需要用不同的表结构,这就要求SiteServer CMS系统必须支持自定义表结构,所以就有了这个辅助表功能。

那是不是意味着使用SiteServer CMS建站就会变得很复杂很麻烦了呢?这倒也不用担心,SiteServer官方提供了建站常用的一些辅助表,比如新闻、招聘、投票等,所以在大部分情况下可以不用创建辅助表就能实现建站的全部功能。这也从另一方面佐证了一个事实:好多人使用SiteServer CMS很久还不理解辅助表、数据模型和内容字段之间的关系和区别。

三、什么情况下需要创建辅助表

SiteServer CMS系统可以创建通用站点(就是普通的新闻站)和电子政务站点两种类型的站点。系统默认带了五张表:内容(新闻)表、招聘表、投票表、信息公开表和互动交流表,通用站点用前三张表就解决战斗,如果是电子政务站点再加上后面两张表也能解决问题。所以在一般情况下不用创建辅助表就能很好的完成建站的所有工作了。但这是一般情况,会不会有不一般的情况?答案是肯定的。请看看下面两种不一般的情况。

  • 第一种不一般情况:假设一个公司官网(通用站点)建好了,领导把你叫办公室说想把公司的产品(很少的几本杂志)放在网站上宣传一下,这时你该如何来操作呢?
  • 第�二种不一般情况:假设你应聘进了一家出版社,老板让你建设一个图书查询系统,把单位所有书进行多维度分门别类的录入SiteServer CMS系统中,然后前台做一个多条件查询的页面给客户查询使用。

以上两种不一般的情况有一个共同点:对于�系统自带的内容(新闻)表来说,杂志或者图书的字段还是有很大不同的,如果把这些数据存在内容表里是非常不合适的。所以此时需要把这些内容存放在单独的一张表里,即需要创建一个辅助表。
总结一句话就是当管理的�内容对象和系统默认的那五张表字段相差比较大的时候,需要另外单独创建辅助表来存储内容对象。

四、如何创建辅助表

深入讲解SiteServer CMS:辅助表_第1张图片

从上图可以看到,创建辅助表时需要选择一个辅助表类型。这里需要详细解释一下辅助表类型这个概念。
SiteServer CMS系统的辅助表类型有:内容、投票、招聘、信息公开、互动交流、自定义。信息公开、互动交流两种辅助表只能用于电子政务站点,也即如果你没有开启电子政务功能是不能创建这两种辅助表的。
针对前五种辅助表类型,SiteServer CMS系统默认带了五张表:内容(其实就是新闻)表、招聘表、投票表、信息公开表和互动交流表。前面也讲过,一般情况下不用创建辅助表了,也就是说系统会默认把不同内容存到各自类型的表中。

下面结合新建站点来讲解系统默认的辅助表类型(其实这里只是指内容类型,其他四种固定不能变化)和自定义类型的区别

深入讲解SiteServer CMS:辅助表_第2张图片

从上图可以看到,新建一个�电子政务站点,系统允许为每种类型选择一个具体的表来存储数据。也就是说,如果你认为系统自带的某张表不符合你的实际需求,你可以新建一个相同类型的辅助表来替代它。比如前面讲到第�二种不一般情况,建设一个图书查询系统,系统管理的是图书而不是新闻,这时可以新建一个类型为内容的图书辅助表,然后在创建站点时,内容辅助表选项选择自己创建的图书辅助表而不要选择系统默认的后台内容表(model_Content),这样就可以很完美的解决问题了。

假如图书辅助表的类型选择为自定义时,那么在创建站点时内容辅助表就只能选择系统默认的后台内容表(model_Content)了,而无法选择自定义类型的图书辅助表。这和刚才会有什么不一样呢?如果是这样的话,那么每次在创建栏目时�数据默认存放在后台内容表而不是图书辅助表中,即每次创建栏目时还得手动把栏目的内容表改成杂志辅助表。

�再回到前面讲到第�一种不一般情况,即把公司很少的几本杂志放在网站上。这种情况下创建辅助表的类型应该设置成为什么类型呢?�其实这个时候辅助表类型选择内容还是自定义都无所谓,只要在创建站点时内容辅助表选择系统默认的后台内容表(model_Content)就行,因为只有在创建杂志栏目时才需要选择杂志辅助表,创建其他栏目还是系统默认的后台内容表。

还是那句话,花这么多文字篇幅只是想让大家�不仅仅知其然而且还知其所以然,下面总结一下自定义类型和��内容类型的区别:�自定义类型的辅助表不能成为站点的默认数据存储表,�如果把辅助表类型设置为内容型,那此辅助表就有可能(需要在创建站点时设置)站点的默认数据存储表。

既然知道区别了,那也就很容易得出创建辅助表时选择辅助表类型的一般原则:如果此站点大部分数据需要存放在此辅助表时,那把这张辅助表的类型设置为内容类型,在创建站点时把此表设置成为站点的默认内容辅助表。

成为站点的默认内容辅助表这样有两个好处:

  • 站点创建栏目时数据默认存储在此表中,除非手动修改成其他表;
  • 全站搜索默认只搜索站点默认内容辅助表里的内容;

辅助表的创建分为两步,一是创建表,二是创建表字段。本篇文章把创建表的内容讲完了,下一篇文章接着讲创建表字段,包括真实字段和虚拟字段。

开心一笑

九点睡是村里人,十点睡是厂里人,十一点睡是校内人,十二点睡是官府人,一点睡是IT人,两点睡是IT人,三点睡是IT人,四点睡是IT人,五点睡是IT人,六点睡是IT人,总是睡不够的还是IT人。

你可能感兴趣的:(深入讲解SiteServer CMS:辅助表)