首页 网络技术
  1. 正文

怎么把phpcms的时间选择器改成laydate组件

什么是时间选择器

涉及到时间的修改和编辑的地方,都会用form::date来调用时间选择器,样式如下

怎么把phpcms的时间选择器改成laydate组件

这玩意因为年久失修不更新,造成很多兼容性问题(如果你没发现兼容性问题可不升级哦),所以升级成laydate时间组件

升级方法

https://www.layui.com/laydate/

下载,解压,目录里的laydate目录上传到/statics/js/目录

然后修改/phpcms/libs/classes/form.class.php里的public static function date 函数如下:

	public static function date($name, $value = '', $isdatetime = 0, $loadjs = 0,$timesystem = 1) {
		if($value == '0000-00-00 00:00:00') $value = '';
		$id = preg_match("/\[(.*)\]/", $name, $m) ? $m[1] : $name;
		if($isdatetime) {
			$size = 21;
			$format = 'yyyy-MM-dd HH:mm:ss';
			$showsTime = 'datetime';
		} else {
			$size = 10;
			$format = 'yyyy-MM-dd';
			$showsTime = 'date';
		}
		if($isdatetime=='1') {
			$size = 21;
			$format = 'yyyy-MM-dd HH:mm:ss';
			$showsTime = 'datetime';
		} else {
			$size = 10;
			$format = 'yyyy-MM-dd';
			$showsTime = 'date';
		}
		$str = '';
		if(!defined('LAYDATE')) {
			define('LAYDATE', 1);
			$str .= '<script type="text/javascript" src="'.JS_PATH.'laydate/laydate.js"></script>';
		}
		if(defined( 'IN_ADMIN' )) {
			$lang = SYS_STYLE ? SYS_STYLE : 'zh-cn';
		} else {
			$lang = pc_base::load_config( 'system','lang' );
		}
		$str .= '<input type="text" name="'.$name.'" id="'.$id.'" value="'.$value.'" size="'.$size.'" class="input-text" readonly>';
		$str .= '<script type="text/javascript">
			laydate.render({
			  elem: "#'.$id.'"
			  ,zIndex: 99999999
			  ,btns: ["clear", "now", "confirm"]
			  ,lang: "cn"
			  ,trigger: "click"
			  ,type: "'.$showsTime.'"
			  ,format: "'.$format.'"
			});
        </script>';
		return $str;
	}

本文标题:怎么把phpcms的时间选择器改成laydate组件
本文链接:https://www.qqooo.cn/post/2189.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 feelym@88.com 处理,谢谢!