织梦dedeCMS二次开发文档手册 程序目录详解以及数据表结构字段

yizhihongxing

《织梦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表中添加两个字段,分别为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();
    }

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

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:织梦dedeCMS二次开发文档手册 程序目录详解以及数据表结构字段 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • linux top命令基本实战

    Linux top命令基本实战 简介 top命令是一个常用的Linux系统性能监控工具,可以实时监控系统的CPU使用率、内存使用率、进程情况等系统资源信息。在快速排查一些系统故障或者优化性能的时候我们可以使用top命令来观察系统的各项指标情况,以及排查相关问题。 命令格式 top命令的基本格式为: top [-u <用户名>] [-d <秒…

    other 2023年6月26日
    00
  • centos7配置samba服务器

    以下是关于“CentOS 7配置Samba服务器”的完整攻略,包括基本知识和两个示例。 基本知识 Samba是一种开源软件,可以在Linux和Unix系统上实现Windows文件和打印机共享。在CentOS 7上配置Samba服务器可以让Windows用户访问Linux系统的共享文件夹。 解决方案 以下是在CentOS 7上配置Samba服务器的步骤: 安装…

    other 2023年5月7日
    00
  • css触发点击事件focus

    CSS触发点击事件focus 在网页开发中,为元素添加交互效果和操作性是非常重要的任务。其中,鼠标点击事件是最常见的一种交互方式。然而,有时候我们需要通过 CSS 来触发点击事件,这时就需要用到 focus 事件了。本文将介绍如何使用 focus 来实现 CSS 触发点击事件。 :focus 伪类 在 CSS 中,focus 事件是通过 :focus 伪类来…

    其他 2023年3月28日
    00
  • Win10开机蓝屏代码DPC_WATCHDOG_VIOLATION怎么解决?

    Win10开机蓝屏代码DPC_WATCHDOG_VIOLATION怎么解决? 什么是DPC_WATCHDOG_VIOLATION? DPC_WATCHDOG_VIOLATION是Windows系统中一个很常见的蓝屏错误代码。它通常是由于硬件或软件驱动程序异常造成的。DPC(Deferred Procedure Call)是指操作系统中的一种程序调度机制,它会…

    other 2023年6月27日
    00
  • 详解path和classpath的区别

    详解path和classpath的区别 什么是path和classpath? 在讨论path和classpath的区别之前,需要先介绍下path和classpath的概念。 path(路径):path是指文件在操作系统中存储的位置。在Unix/Linux系统中,以/为分隔符,如/usr/local/bin,表示bin文件夹在/usr/local目录下;在Wi…

    other 2023年6月27日
    00
  • 一文搞懂C++中string容器的构造及使用

    一、介绍C++中的string容器是一个十分常用的标准库容器,用于存放字符串。本篇攻略将详细讲解string容器的构造及使用,以解决初学者在使用string容器时可能遇到的问题。 二、构造方法1.默认构造函数默认构造函数创建一个空字符串,长度为0。 示例代码: #include <iostream> #include <string>…

    other 2023年6月26日
    00
  • 我叫MT小德战复顺序揭秘 优先级详细解析

    我叫MT小德战复顺序揭秘 优先级详细解析攻略 介绍 “我叫MT小德战复顺序揭秘”是一款流行的游戏,玩家需要合理安排角色技能的释放顺序来获得战斗胜利。本文将详细解析各技能的优先级,帮助玩家更好地制定战斗策略。 技能优先级解析 技能分类 根据技能的特性,我们将技能分为以下几类:1. 攻击技能:对敌方角色造成伤害。2. 治疗技能:恢复己方角色的生命值。3. 控制技…

    other 2023年6月28日
    00
  • rabbitmq的安装配置使用

    以下是关于RabbitMQ的安装配置使用的完整攻略,包括定义、安装、配置和使用方法、示例说明和注意事项。 定义 RabbitMQ是一个开源的消息代理软件,用于在分布式系统中传递消息。它实现了高级消息队列协议(AMQP)标准,提供了可靠的消息传递机制,支持多种编程语言和操作系统。 安装 以下是在Ubuntu系统中安装RabbitMQ的步骤: 打开终端。 输入以…

    other 2023年5月8日
    00
合作推广
合作推广
分享本页
返回顶部