建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 网站地图 | 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:建站技术网 > cms教程 > Dedecms教程

DedeCMS 增加日期类型样式的方法

时间:2019-02-01 00:22:44  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次
提供一种新的时间类型:date(格式:XXXX年—XX月—XX日) 名称:日期类型 
 
使用范围:自动模型的附加表,独立模型表 
优点:可以使用mysql自带的日期处理/日期转换函数,也可以对date字段进行排序。 
 
这是mysql数据库自带的一种数据类型,可以使用字符串或数字向表中的date类型列插入数据。Dede默认的时间类型只有datetime,而且是UNIX时间戳,操作只有使用dede提供的函数进行转换,使用上很不方便(例如:SQL语句中直接使用日期函数或者按年—月—日排序如何处理?)。为什么只提供这种时间类型呢?我不理解,我没有使用过linix系统,是不是基于这种考虑我不清楚。闲话少说,请大家看操作步骤: 
 
一、修改mychannel_field_add.php 
文件作用:增加指定的内容频道表的字段(前台程序) 
修改目的:增加一种字段类型 
文件位置:/DedeAMPZ/WebRoot/Default/dede 
操作:增加红色显示的内容 
………………………… 
………………………… 
<td bgcolor="#FFFFFF"> 
<div class='nw'><input type='radio' class='np' name='dtype' id='dtype1' value="text" checked='1'>单行文本(varchar)</div> 
………………………… 
………………………… 
………………………… 
<div class='nw'><input type='radio' class='np' name='dtype' id='dtype16' value="stepselect">联动类型</div> 
<div class='nw'><input type='radio' class='np' name='dtype' id='dtype17' value="date">日期类型</div> 
二、修改mychannel_field_edit.php 
文件作用:编辑指定的内容频道表的字段(前台程序) 
修改目的:增加一种字段类型 
文件位置:/DedeAMPZ/WebRoot/Default/dede 
操作:增加红色显示的内容 
………………………… 
………………………… 
if($canchange) 
?> 
<option value="text">单行文本(varchar)</option> 
………………………… 
………………………… 
<option value="stepselect">联动类型</option> 
<option value="date">日期类型</option> 
 
<?php 
?> 
</select> </td> 
三、修改fieldtype.txt 
文件作用:系统指定的字段类型 
修改目的:增加一种字段类型,注意标点符号是半角 
文件位置:/DedeAMPZ/WebRoot/Default/dede/inc 
操作:增加红色显示的内容 
 
………………………… 
………………………… 
checkbox,checkbox多选框 
stepselect,联动类型 
date,日期类型 
 
四、修改inc_admin_channel.php 
文件作用:对前台内容频道提交的数据进行处理 
修改目的:增加对date日期类型的处理(原程序没有这个类型,不增加就会默认处理成字符类型) 
文件位置:/DedeAMPZ/WebRoot/Default/dede/inc 
操作:增加红色显示的内容 
………………………… 
………………………… 
if($dtype=="int"||$dtype=="datetime") 
if($dfvalue=="" || ereg("[^0-9-]",$dfvalue)) 
$dfvalue = 0; 
$fields[0] = " `$fieldname` int(11) NOT NULL default '$dfvalue';"; 
$fields[1] = "int(11)"; 
else if($dtype=="date") 
 
 
if($dfvalue=="" || ereg("[^0-9-]",$dfvalue)) 
 
 
$dfvalue = '0000-00-00'; 
 
 
$fields[0] = " `$fieldname` date NOT NULL default '$dfvalue';"; 
 
$fields[1] = "date"; 
 
 
else if($dtype=="stepselect") 
………………………… 
………………………… 
 
五、你可以仿照这种办法,在自动模型的附加表或独立模型表中增加新类型datetime,取消UNIX时间戳,但难度稍大。 
六、关于在SQL语句中使用mysql日期函数/转换函数,请参阅互联网。
 
补充:
1、本程序调试环境:dedecms5.5 utf8
2、dedecms默认的时间类型datetime,在数据库表中保存的是int(11),操作极不方便。增加这种日期类型后,你可以直接使用mysql日期函数/转换函数,少很多烦恼。
标签:
文章标题:DedeCMS 增加日期类型样式的方法
文章网址:http://www.jzjsw.com/cmsJiaocheng/dedecms/8479.html
上一篇:DedeCMS 标签tags 目录化的修改方法
下一篇:DedeCMS调用指定栏目不包含下级栏目的问题
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门