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

相关文章

  • linux crash工具安装配置

    Linux Crash工具安装配置 什么是Linux Crash工具? Linux Crash工具是用于收集系统崩溃信息的工具。当系统崩溃时,该工具可以从系统的内存中获取关键信息,包括各个进程的状态、内核状态等,帮助我们定位和排除崩溃问题。 安装Crash工具 在大多数Linux系统中,Crash工具已经预先安装了。如果您的系统没有自带Crash工具,您可以…

    其他 2023年3月28日
    00
  • ios基础-uiscrollview

    以下是“iOS基础-UIScrollView的完整攻略”的详细讲解,过程中包含两个示例说明的标准Markdown格式文本: iOS基础-UIScrollView的完整攻略 UIScrollView是iOS中一个常用的控件,可以实现滚动视图的功能。本文将介绍UIScrollView的基本用法和常见属性。 1. 创建UIScrollView 我们可以使用以下代码…

    other 2023年5月10日
    00
  • Python单链表的简单实现方法

    下面我将详细讲解“Python单链表的简单实现方法”的完整攻略。 目录 单链表的概念 单链表的基本操作 Python代码实现 示例说明 总结 1. 单链表的概念 单链表是一种常用的数据结构,它由一系列节点组织而成,每个节点包含两个部分:数据域和指针域。数据域用来存储数据,指针域用来指向下一个节点。单链表的头结点不存储任何数据,只是一个指针,指向链表的第一个节…

    other 2023年6月27日
    00
  • Pycharm导入Python包,模块的图文教程

    以下是PyCharm导入Python包和模块的图文教程的完整攻略: 打开PyCharm并创建一个新的Python项目。 在项目的根目录下创建一个新的Python文件。 在Python文件中,使用import关键字导入需要的包或模块。例如: python import numpy as np import pandas as pd PyCharm会自动检测导入…

    other 2023年10月14日
    00
  • Linux shell 之 提取文件名和目录名的一些方法总结

    下面我将详细讲解“Linux shell 之 提取文件名和目录名的一些方法总结”的完整攻略。 提取文件名和目录名的一些方法总结 在Linux系统中,经常需要在shell脚本或命令行中提取文件名和目录名,以便进行一些操作。本文汇总了一些提取文件名和目录名的方法,供大家参考。 使用basename和dirname命令 basename命令用于提取文件名,dirn…

    other 2023年6月26日
    00
  • PHP中实现MySQL嵌套事务的两种解决方案

    PHP中实现MySQL嵌套事务的两种解决方案 在PHP中,实现MySQL嵌套事务可以通过以下两种解决方案来完成。 解决方案一:使用保存点(Savepoint) 保存点是一种在事务中设置的标记,可以在事务执行过程中回滚到该标记所在的状态。通过使用保存点,我们可以在嵌套事务中进行回滚操作。 下面是一个示例代码,演示了如何使用保存点实现MySQL嵌套事务: &lt…

    other 2023年7月28日
    00
  • cdr备份文件在哪里

    针对您的问题,下面是详细的攻略: 什么是cdr备份文件 在Mac电脑上,.cdr是一种用于光盘存储的文件格式。.cdr备份文件是将光盘内容备份到计算机上的文件,通常用于将CD或DVD上的文件备份到您的Mac或外部存储设备上。 cdr备份文件保存路径 在Mac电脑上,.cdr备份文件可以存储在本地硬盘、外部存储设备或云端服务器上。一般情况下,cdr备份文件存储…

    其他 2023年4月16日
    00
  • 关于c#:sigsegv的原因可能是系统故障的原因吗?

    以下是关于“关于c#:sigsegv的原因可能是系统故障的原因吗?”的完整攻略,包含两个示例。 背景 在C#程序中,当出现SIGSEGV错误时,通常是由于访问了无效的内存地址或者试图访问未分配的内存空间。这种错误通常是由于程序中存在缺陷或者错误导致的,而不是系统故障引起的。那么C#程序中出现SIGSEGV错误的原因可能是系统故障吗? 示例一:访问无效的内存地…

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