前面的章节介绍过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_cache, serialize($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~~