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

《织梦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日

相关文章

  • js添加style

    JS 添加 Style 在 Web 开发中,我们经常需要使用 JavaScript 动态地添加样式。本文将介绍如何使用 JavaScript 添加 Style,包括基本概念、应用场景、实现方法和示例说明。 基本概念 在 Web 开发中,我们可以使用 JavaScript 动态地添加样式。通过添加样式,我们可以改变元素的外观、布局和行为。在 JavaScrip…

    other 2023年5月6日
    00
  • go语言区块链学习调用智能合约

    Go语言区块链学习调用智能合约攻略 本攻略将详细介绍如何使用Go语言调用智能合约的步骤和示例代码。 步骤一:安装必要的工具和库 安装Go语言开发环境:根据您的操作系统,下载并安装Go语言的最新版本。 安装Solidity编译器:Solidity是以太坊智能合约的编程语言,您可以通过以下命令安装Solidity编译器: shell go get -u gith…

    other 2023年10月14日
    00
  • iOS/iPadOS 15 开发者预览版 Beta4(版本号19A5307g)正式更新

    iOS/iPadOS 15 开发者预览版 Beta4(版本号19A5307g)是苹果公司最新发布的最新开发者预览版,该版本正式更新了以下内容: 1.新增了一些桌面小部件和功能。2.增加了一些隐私保护措施。3.优化了一些系统功能。 如何升级到iOS/iPadOS 15 开发者预览版 Beta4(版本号19A5307g)? 安装苹果官方开发者证书。在苹果开发者网…

    other 2023年6月26日
    00
  • 手机系统占用空间怎么清理 手机储存不足的解决办法

    手机系统占用空间清理攻略 1. 清理缓存文件 缓存文件是手机系统和应用程序为了提高运行速度而临时存储的数据。清理缓存文件可以释放一定的存储空间。以下是清理缓存文件的步骤: 步骤 1:打开手机的设置菜单。 步骤 2:找到并点击“存储”或“存储空间”选项。 步骤 3:在存储空间页面中,找到并点击“缓存数据”选项。 步骤 4:系统会弹出一个确认对话框,点击“确定”…

    other 2023年7月31日
    00
  • 火狐浏览器多用户配置文件怎么设置?

    设置火狐浏览器多用户配置文件可以帮助我们在同一台电脑上使用不同的账号操作浏览器,避免不同用户信息相互干扰。下面是具体步骤及示例: 打开火狐浏览器,点击右上角的菜单按钮(三条横线),选择“帮助”菜单中的“故障排除信息”。 在新弹出的“故障排除信息”窗口中,找到“应用程序基本信息”选项卡,并点击右侧的“打开文件夹”按钮。 在弹出的窗口中,找到“Profiles”…

    other 2023年6月25日
    00
  • VB6.0中CommonDialog控件怎么添加使用?

    下面是VB6.0中添加和使用CommonDialog控件的完整攻略,包含以下几步: 第一步:在VB6.0中添加CommonDialog控件 打开VB6.0 IDE,打开你的工程(或者新建一个工程)。 点击工具箱中的“组件”按钮。 在弹出的“组件”对话框中勾选“Microsoft Common Dialog Control 6.0”,点击“应用”按钮。 点击“…

    other 2023年6月27日
    00
  • groupby多个条件

    groupby多个条件 在数据分析和处理过程中,经常需要按照多个条件进行分组求和、计数等操作。Python中的pandas库提供了groupby函数来实现按照某一或多个条件对数据集进行分组的功能。 基本语法 dataframe.groupby([‘col1’, ‘col2’, …]).agg_func() 其中col1、col2等为用来分组的列名,agg…

    其他 2023年3月28日
    00
  • django基于restframework的CBV封装详解

    Django基于Rest Framework的CBV封装详解 什么是CBV? CBV全称为Class-Based Views,中文名为基于类的视图,是Django框架中的一种视图函数封装方式。与FBV不同,CBV重点是通过类的继承和重载的方式,对通用的视图功能进行封装,提高代码的重用性。 在实际开发中,CBV通常比FBV更加优雅、简洁、易于维护和扩展,因此,…

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