《织梦dedeCMS二次开发文档手册》是对织梦dedeCMS进行二次开发的详细说明文档,包括程序目录详解以及数据表结构字段。本攻略将会从两个方面,分别介绍程序目录和数据表结构字段。
程序目录详解
织梦dedeCMS的程序目录结构如下所示:
dedecms
|---- admin/
| |---- archiver.rar
| |---- skin/
| |---- allboxfunc.php
| |---- ckplayer/
| |---- config_gbk.php
| |---- module_addon.php
| ......
|---- include/
| |---- archives.class.php
| |---- common.inc.php
| |---- dedetaxonomy.class.php
| |---- export.func.php
| |---- lib_database.php
| ......
|---- template/
| |---- default/
| | |---- images/
| | |---- js/
| | |---- index.htm
| | ......
| |---- mobile/
| | |---- images/
| | |---- js/
| | |---- index.htm
| | ......
|---- plus/
|---- data/
|---- uploads/
|---- index.php
|---- tags.php
|---- rss.php
.....
其中,admin/
目录存放着dedeCMS的后台系统代码,包括管理界面、管理员权限控制、文章和栏目管理、用户管理等等。include/
目录存放着dedeCMS的核心代码,包括文章和栏目的处理、模板解析、网站的配置等等。template/
目录存放着dedeCMS的模板文件,可以根据网站风格的要求来定制模板。plus/
目录包含了很多dedeCMS的插件,如Sitemap、万能表单、留言板等等。data/
目录存放网站的一些数据,例如数据库备份文件、上传的附件、虚拟路径配置文件等等。uploads
目录存放着用户上传的附件,如图片、视频等等。其余一些php文件为网站的运营和SEO优化使用。
数据表结构字段
织梦dedeCMS使用的MySQL数据库中,包含了很多的数据表。下面介绍一下dedeCMS中比较重要的数据表结构和字段。
1. dede_archives
表
该表存储了网站文章的信息,包括文章的ID、所属栏目、标题、作者、文章处理结果等等。
字段名称 | 字段含义 |
---|---|
id | 文章ID |
typeid | 栏目ID |
sortrank | 显示顺序 |
flag | 文章属性 |
ismake | 是否生成HTML |
channel | 频道 |
arcrank | 文章审核状态 |
click | 阅读量 |
title | 文章标题 |
shorttitle | 文章短标题 |
color | 文章标题颜色 |
writer | 作者 |
source | 文章来源 |
litpic | 文章缩略图 |
pubdate | 发布时间 |
senddate | 撰写时间 |
mid | 发布会员ID |
keywords | 文章关键词 |
description | 文章描述 |
filename | HTML文件名 |
dutyadmin | 维护管理员ID |
weight | 权重 |
typename | 栏目名称 |
corank | 栏目级别 |
isdefault | 是否首页 |
defaultname | 别名 |
namerule | 栏目目录规则 |
namerule2 | 文章命名规则 |
sitepath | 网站目录 |
arcurl | 文章链接 |
typeurl | 栏目链接 |
videotime | 视频时长 |
vheight | 视频高度 |
vwidth | 视频宽度 |
duration | 音频、视频时长 |
scores | 评分数量 |
goodpost | 赞的个数 |
badpost | 踩的个数 |
cptype | 相关文档类型 |
cpfile | 相关文档名称 |
groupid | 文档组 |
userip | 发布IP |
videolink | 视频链接 |
infotags | 文档标签 |
infozm | 标题拼音 |
ishost | 是否为推荐 |
totality | 评分总数 |
notation | 评分次数 |
maxpage | 最大页数 |
hasdown | 是否有附件 |
litpicwidth | 缩略图宽度 |
litpicheight | 缩略图高度 |
pdfsize | PDF文件大小 |
videotype | 视频类型 |
userip_add_dtime | IP地址和发布时间 |
2. dede_arctype
表
该表存储了网站栏目的信息,包括栏目的ID、栏目名称、父级栏目、栏目的级别等信息。
字段名称 | 字段含义 |
---|---|
id | 栏目ID |
reid | 父级栏目ID |
topid | 顶级栏目ID |
typename | 栏目名称 |
typedir | 目录名 |
isdefault | 是否为首页 |
defaultname | 站点默认文件名 |
namerule | 栏目目录规则 |
namerule2 | 栏目命名规则 |
description | 栏目描述 |
keywords | 栏目关键词 |
seotitle | SEO标题 |
tagword | 栏目标签 |
mid | 发布会员ID |
maintable | 维护操作表 |
crossid | 跨站点关联ID |
ispart | 是否为封面 |
corank | 栏目级别 |
tempindex | 栏目主页模板 |
temparticle | 文章模板 |
templist | 列表模板 |
namedhtml | 自定义静态页面 |
namearc | 自定义内容页 |
namelist | 自定义列表页 |
ishidden | 是否显示在导航 |
moresite | 第三方地址 |
sitepath | 网站目录 |
siteurl | 网址 |
iswap | 是否为手机版 |
示例说明
示例1:如何在dede_archives
中添加文章的坐标和地址字段?
1. 在dede_archives
表中添加两个字段,分别为latlng
和address
ALTER TABLE `dede_archives`
ADD COLUMN `latlng` varchar(255) COLLATE utf8_unicode_ci DEFAULT '' COMMENT '坐标' AFTER `score`,
ADD COLUMN `address` varchar(255) COLLATE utf8_unicode_ci DEFAULT '' COMMENT '地址' AFTER `latlng`;
- 修改
/include/arc.archives_newview.class.php
文件,在makeContent
方法中添加坐标和地址
$arctable = '#@__'.$channeltype.'';
$channelid = $arid ? GetTopid($arid) : '';
$addtable = $arctable.'_addtable';
$field = $cfg_mb_addon_fields ? "*,".$cfg_mb_addon_fields : "*";
$arcQuery = "SELECT arc.*,addf.*,tp.typename,tp.namerule,tp.ispart,tp.moresite,tp.siteurl,tp.iswap,tp.corank,tp.namerule2,tp.is_case,tp.list_viewtp,tp.title,d.fileurl as dfurl FROM `{$arctable}` arc LEFT JOIN `{$addtable}` addf ON addf.aid=arc.id LEFT JOIN `#@__arctype` tp ON tp.id=arc.typeid LEFT JOIN `#@__attachment` d ON d.aid=arc.id
WHERE arc.id='$aid' AND arc.arcrank > -1";
$arcRow = $dsql->GetOne($arcQuery);
if(is_array($arcRow))
{
extract($arcRow);
// 新加内容
$latlng = $addf['latlng'];
$address = $addf['address'];
}
示例2:如何在dede_arctype
表中添加栏目的图标字段?
1. 在dede_arctype
表中添加一个名为typeicon
的字段
ALTER TABLE `dede_arctype`
ADD COLUMN `typeicon` varchar(100) COLLATE utf8_unicode_ci DEFAULT '' COMMENT '栏目图标' after `tagword`;
- 修改
/include/typeview.class.php
文件,在MakeTypeTable()
方法中添加图标
$row = $dsql->GetOne("SELECT * FROM ".$dsql->GetTable("#".$action."type")." WHERE id='$tid'");
if(isset($row['ismake'])&&$row['ismake']=='-1') $row = array();
$typeurl = GetFileUrl($row['id'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['namerule'],$row['namerule2'],$row['ispart'],$row['moresite'],$row['siteurl'],$row['sitepath']);
if(count($row)>0)
{
$wapstyle = empty($row['wapstyle']) ? '#' : $row['wapstyle'];
$row['typelink'] = $GLOBALS['_cfg_basehost']."/".str_replace($GLOBALS['_cfg_basedir'],'',$typeurl);
$row['typeicon'] = "<img src='\\images\\".$row['typeicon']."' />";
$row['nextid'] = 0;
$row['nexttypename'] = '';
$row['previd'] = 0;
$row['prevtypename'] = '';
return $row;
}
else
{
$this->DispError(0);
exit();
}
注:以上仅为示例说明,实际开发中需要根据具体情况进行修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:织梦dedeCMS二次开发文档手册 程序目录详解以及数据表结构字段 - Python技术站