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

大家快瞧那结冰的湖水,春风一吹冰都融化了,河里的小鱼都游出海面,在湖水中自由的游来游去,多可爱的小鱼啊!多么欢快的小鱼啊!真是让人深深的为它那可爱的摸样着迷。春风一吹过那枯黄的小草身边时,小草突然边了摸样,它从原来的枯黄变成了嫩绿,慢慢地小草从嫩绿变成了鲜绿渐渐地越变越绿,绿的让人难以相信那是小草。啊!小草我为你的样子感到是个奇迹。
提供一种新的时间类型: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 增加日期类型样式的方法。越走心境越澄明的我们,最后都会遇上最好的自己。更多关于DedeCMS 增加日期类型样式的方法请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
dedecms如何实现任意页面调用当前会员信息的方

DedeCMS织梦判断是否有二级栏目输出HTML代码

织梦dedecms dede:arclist输出取消换行符

dedecms文章添加字段填栏目id,内容页调用字段里的栏目文章

dedeCMS首页列表页文章页调用tag的方法