最新活动:电脑PC端+手机端+微网站+自适应网页多模板选择-建站388元起价!!!
当前位置:主页 > 网站建设 > DedeCMS系统配置参数功能和运行分析,织梦文章

DedeCMS系统配置参数功能和运行分析,织梦文章

时间:2023-07-20 10:07:20 阅读: 文章分类: 网站建设 作者: dede开发者

导读:织梦文章织梦文章本教程主要分析讲解dedecms系统基本参数功能是如何实现的,如何存在到数据,程序是如何执行,具体某个配置这里不讲,因为比较简单,在其它教程里讲解。简言之,这个织梦模板修改dede下瓻模板下载。

织梦模板修改dede下瓻模板下载  本教程主要分析讲解dedecms系统基本参数功能是如何实现的,如何存在到数据,程序是如何执行,具体某个配置这里不讲,因为比较简单,在其它教程里讲解。简言之,这个教程以分析DedeCMS系统配置参数功能的php程序、模板运用等内容。   进入到Dedecms系统配置参数界面,如下图所示,这个图只截取基本一部分。   这个界面所对应的php程序文件是http://www.dedebase.com/dede/sys_info.php,即sys_info.php,这个php文件,对应的模板文件是sys_info.htm,以后我们分析某一功能首先要找出,那一功能对应原php程序和模板。今天就分析织梦系统配置参数下面每个功能的实现和运行,这样说有可能不是清梦,我们一个功能一个功能的分析。   首先,我们目标是实现在“添加新变量”前面加上一个对应的栏目选项,即如下图所示位置。   要实现这个功能,首先就要找到这个栏目,我们打开文件sys_info.htm,在这个模板文件中好像没有明显的这一行信息,我们仔细找一下,找到如下一段php代码。   <tr>    <td height="24" bgcolor="#ffffff" align="center">     <?php $ds = file(DEDEADMIN.'/inc/configgroup.txt');//每行作为一个单元存放在数组中。 $totalGroup = count($ds);//统计数组个数。 $i = 0; foreach($ds as $dl) {     $dl = trim($dl);     if(empty($dl)) continue;     $dls = explode(',',$dl);//用逗号分隔字符串,分隔后存放在数组$dls里面。     $i++;     if($i>1) echo " | <a href='javascript:ShowConfig($i,$totalGroup)'>{$dls[1]}</a> ";     else{         echo " <a href='javascript:ShowConfig($i,$totalGroup)'>{$dls[1]}</a> ";     } } ?>     | <a href="#" onClick="ShowHide('addvar')">添加新变量</a></td>   </tr>   这好像与我们平时看到的织梦前台模板有点矛盾,一般的前台模板(路径是templets/default)文件不一样,不一样在在前台模板文件里面,看不到php程序,只有标签,没有错,实际上在前台模板里面可以应用php文件,但不是直接应用,而是用织梦标签开始与结束,例如下面这个代码。 [field:global runphp='yes' name=autoindex] if (@me < 9) @me = '0'.@me; else @me = @me; [/field:global]   但是像在模板sys_info.htm中这样直接应用php程序没有,织梦也不允许,那为什么在sys_info.htm模板文件能用呢?因为,这个模板文件被包含引用在了sys_info.php文件,这是php程序中的规定,只要在php程序中包括有其它文件如模板,那么,在它所包括的文件中就可以直接使用php程序与htm嵌套使用,这是一个重要的知识点,如果不理解这一点,就会给我们带来困惑。   回过头来我们再分析一下上面<tr>与</tr>之间的这段php代码。现在我们详细分析一下这段代码,如何添加一个栏目,例如我们添加“织梦基地”这样一个栏目。这一小段代码用到比较多的知识,我们详细分析一下。这段代码用到了四个php函数,分别是file(),count(),trim(),explode(),一个数组遍历语句foreach,还用到了一个js函数ShowConfig()这个函数就是一个选择卡功能。   函数file()的作用是把每行作为一个单元存放在数组中,我们直接打印出$ds = file(DEDEADMIN.'/inc/configgroup.txt'),显示的结果是:Array ( [0] => 1,站点设置 [1] => 2,核心设置 [2] => 3,附件设置 [3] => 4,会员设置[4] => 5,互动设置 [5] => 6,性能选项 [6] => 7,其它选项 [7] => 8,模块设置 ) 。很明显这个结果是一个数组,我们打开文件confinggroup.txt文件发现,每一行对应数组中的一个单元,这正是这个file()函数的强大之处。     我们再看一下count()函数,函数是用来计算数组中的单元数目或对象中的属性个数,我们打印一下count($ds),结果是8,说明文件上面的$ds数组有8个单元。数组$ds是一个一组数组,如果是多维,函数会一直向下执行,这是一个计算 多维数组的好方法工具。在数据库语言中也有这个名称完全相同的函数,经常用来计算查询出来的记录条数或字段数,等讲到数据库知识我们详细讲解,注意区别。   函数trim()是去除字符串首尾处的空白字符(或者其他字符),删除左边、右边空白字符(或其他字符)的函数分别是ltrim(),rtrim(),就是在函数trim()前面加上左右英文第一个字母即可。去除的字符包括如下五大类:   " " (ASCII 32 (0x20)),普通空格符。   "\t" (ASCII 9 (0x09)),制表符。   "\n" (ASCII 10 (0x0A)),换行符。   "\r" (ASCII 13 (0x0D)),回车符。   "\0" (ASCII 0 (0x00)),空字节符。   "\x0B" (ASCII 11 (0x0B)),垂直制表符。   这里为什么要去除空白字符呢,如果不这样,那么,当程序执行到if(empty($ds)) continue;时,程序下面的代码就执行不了了,那么,文件configgroup.txt内容就循环不出来了。   第四个函数explode()这个函数非常重要,它的作用就是一个字符串分割另一个字符串,返回一个字符串组成的数组。在这段代码中$dls = explode(',',$dl),explode把字符串$dl分割成一个数组,例如当循环到第一个即“1,站点设置”,这个函数会把这个字符串他割成[0]=1;[1]="站点设置"这样的数组。与它相反的一个函数implode()是把数组连接成一个字符串。   在循环里面的if($i>1)这个判断是作什么用的呢?他是用来处理每个栏目选项的“竖线”当第一个的时候,是没有竖线的,这也为我们提供了一种思路,例如,我们网站导航有很多站都有竖线,当然,导航用的是css或js知识。   最后,有一个js函数ShowConfig($i,$totalGroup),这个函数是用来实现栏目选项卡功能的,这里暂时不作多解释,以后,会有专题详细讲解选项卡功能。   为了方便大家对这段程序的理解,制作这段程序的运行流程图如下所示。

关键词标签: CMS 标签 参数

声明: 本文由我的SEOUC技术文章主页发布于:2023-07-20 ,文章DedeCMS系统配置参数功能和运行分析,织梦文章主要讲述参数,标签,CMS网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_31503.html

我的IDC 网站建设技术SEOUC.COM
专注网站建设,SEO优化,小程序设计制作搭建开发定制网站等,数千家网站定制开发案例,网站推广技术服务。
  • 5000+合作客服
  • 8年从业经验
  • 150+覆盖行业
  • 最新热门源码技术文章