织梦dedeCMS二次开发文档

来源:网站建设 文章作者:dushilianren.cn 64人浏览

文章摘要:织梦dedeCMS二次开发文档;《织梦dedeCMS二次开发文档手册》是对织梦dedeCMS进行二次开发的详细说明文档,包括程序目录详解以及数据表结构字段。本攻略将会从两个方面,分别介绍程序目录和数据表结构字段。

织梦dedeCMS二次开发文档;《织梦dedeCMS二次开发文档手册》是对织梦dedeCMS进行二次开发的详细说明文档,包括程序目录详解以及数据表结构字段。本攻略将会从两个方面,分别介绍程序目录和数据表结构字段。

2345截图20230804113552.jpg

程序目录详解

织梦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优化使用。

Python技术站热门推荐:

PDF电子发票识别软件,一键识别电子发票并导入到Excel中!

10大顶级数据挖掘软件!

人工智能的十大作用!


数据表结构字段

织梦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文章描述
filenameHTML文件名
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缩略图高度
pdfsizePDF文件大小
videotype视频类型
userip_add_dtimeIP地址和发布时间

2. dede_arctype

该表存储了网站栏目的信息,包括栏目的ID、栏目名称、父级栏目、栏目的级别等信息。

字段名称字段含义
id栏目ID
reid父级栏目ID
topid顶级栏目ID
typename栏目名称
typedir目录名
isdefault是否为首页
defaultname站点默认文件名
namerule栏目目录规则
namerule2栏目命名规则
description栏目描述
keywords栏目关键词
seotitleSEO标题
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表中添加两个字段,分别为latlngaddress

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`;
  1. 修改/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`;
  1. 修改/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();
    }

注:以上仅为示例说明,实际开发中需要根据具体情况进行修改。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.dushilianren.cn/WebsiteNews/668.html

业务咨询

  • 官方微信

    官方微信

  • 商务合作

  • 官方微信

    官方微信

  • Copyright © 2018-2022 小程序开发 APP开发 网站建设 小程序定制 APP定制 All Rights Reserved. 网站地图
    电话咨询:18936104252
    在线客服咨询