前面的章节介绍过v1.0.0版本的数据库结构,本节就v1.2.0的数据库结构进行介绍。     和v1.0.0相比,v1.2.0在原来的表结构基础上增加了setting表,这是和CMS配置相关的表,如下...

    前面的章节介绍过v1.0.0版本的数据库结构,本节就v1.2.0的数据库结构进行介绍。

    和v1.0.0相比,v1.2.0在原来的表结构基础上增加了setting表,这是和CMS配置相关的表,如下图所示:

图1
 
    setting表由三个字段组成,set_group为组名字段,相似的配置会放在一起使用相同的组名,name字段为配置名称,value字段则为配置的值。
    目前默认有三组配置,watermark组代表和水印相关的配置,section组代表和栏目相关的配置,article组代表和文章相关的配置,有了setting表,就可以在数据库中扩展很多的配置,而不需要像v1.0那样每个配置都写在config.php中,目前config.php中主要存放一些比较重要的配置,如数据库的用户名,密码等信息。另外在config.php中针对setting表增加了两个读写数据库配置的函数:

/*
    从setting表中获取$group_name组对应的所有配置,并将这些配置
    写入返回数组中

*/
function 
config_get_db_setting($group_name,$arg_sql null)
{
    global 
$zengl_cms_filecache_dir;
    
$file_cache $zengl_cms_filecache_dir 'config_db_set_'.

                                $group_name.'_cache_inc.php';
    
$group_set_array = array();
    if(!
file_exists($file_cache))
    {
        if(
$arg_sql == null)
            
$sql = new sql('utf8');
        else
            
$sql = &$arg_sql;
        
$sql->query("select * from $sql->tables_prefix" 

                     "setting where set_group = '" $group_name."'");
        while (
$sql->parse_results()) {

              //得到该组配置的名值对信息。
            $group_set_array[$sql->row['name']] = $sql->row['value'];
        }

//将该配置数组序列化后写入缓存文件中。以后就直接从该缓存文件读取配置信息
        file_put_contents($file_cacheserialize($group_set_array));
    }
    
$group_set_array unserialize(file_get_contents($file_cache));
    return 
$group_set_array;
}

/*

    将$group_name组的$name配置设置为$value值。同时清理该配置组的缓存文件
*/
function 
config_set_db_setting($sql $group_name$name $value)
{
    global 
$zengl_cms_filecache_dir;
    
$file_cache $zengl_cms_filecache_dir 'config_db_set_' .

                                $group_name .  '_cache_inc.php';
    if(
file_exists($file_cache))
        
unlink($file_cache);
    
$value $sql->escape_str($value);
    
$sql->query("UPDATE {$sql->tables_prefix}setting SET value='$value'" 
            
" WHERE set_group='$group_name' and name= '$name'");
}

    articles文章资讯表的结构如下图所示:

图2
 
    在原来的结构中增加了addtime字段代表资讯的添加时间,tpl字段存放某篇文章的模板文件名信息(可以为某篇文章设置独特的模板),level字段代表某篇文章的级别(相关推荐,幻灯图片等的级别值)。

    在添加编辑文章时可以设置文章的内容页模板,模板文件名信息就存放在tpl字段中,如下图所示:
 

图3

    其他的字段都和v1.0的保持一致,这些字段的含义可以参考之前的"zenglcms 数据库结构"的文章。

    section文章栏目表的结构如下:
 

图4

    栏目表结构在原来的基础上增加了6个字段:
    tpl字段:对应栏目的列表模板。
    article_tpl字段:对应栏目的内容页模板。
    linkurl字段:如果某个栏目设为了外链类型,则linkurl将存放对应的外链地址。
    type字段:对应栏目的类型标识符,例如外链类型(类型标识符默认为linkurl和linkurl_newopen),关于我们类型(栏目类型标识符默认为aboutus)等。
    keyword字段:栏目的关键字信息,默认显示在列表页头部的keywords对应的meta元素中,用于SEO优化
    sec_description字段:栏目的描述信息,默认显示在列表页头部的description对应的meta元素中,用于SEO优化
    其他的字段和v1.0的一致。

    其他的表结构也都和v1.0的一样。详情可以查看之前的"zenglcms 数据库结构"的文章。

    OK,休息,休息一下 o(∩_∩)o~~
上下篇

下一篇: 暂无

上一篇: zenglcms v1.2.0 自定义栏目类型

相关文章

zenglcms v1.2.0发布版

zenglcms v1.2.0 自定义栏目类型

zenglcms 缓存和模板

zenglcms CKEditor在线编辑器

zenglcms v1.0.0的安装

zenglcms 数据库结构