yii扩展自带的时间选择器插件cjuidatepicker

数据库时间字段用的是 int 类型,存储的是时间戳。并且我写文章的时候,时间是需要可以修改的。

来一张最终效果图:

首先我用了 Yii 自带的 Zii CJuiDatePicker 扩展,非常的强大的把 jQuery UI 的 Datepicker 继承进去了,使用非常的简单,手册上有。但是这个有个缺陷,没有小时分钟,只能配置日期。这个有点坑爹了。然后没办法,去找了一个 yii 的扩展。我选了 ejuidatetimepicker,使用也很简单,基本就按照给的 Demo复制过去就可以了。

现在来说说这个功能的难点,首先我数据库是 int 时间戳格式的,但是我用的这个插件是日期格式的,那么现在我又不想改数据库时间的字段类型,我要如何解决?

Google 了一下,找到了一篇文章,我按照这个来结果成功了。

首先根据插件的 Demo 我们在视图form的时间是这样写的:

控制器部分我们基本上不用修改。接下来我们去修改 Model 文件,添加两个 yii 的 function:

beforeSave 就是数据保存之前我们要处理的事件。afterFind 就是数据显示之前我们要处理的事件。

非常巧妙的用法。

最后别忘记了把 Model 的 rules 的时间验证规则改一下,代码如下:

值得注意的是 rules 验证会在 beforeSave 之前执行。beforeSave 和 afterFind 都是 protected 属性。

文章来自 http://blog.forecho.com/2014/01/13/yii%E6%89%A9%E5%B1%95%E8%87%AA%E5%B8%A6%E7%9A%84%E6%97%B6%E9%97%B4%E9%80%89%E6%8B%A9%E5%99%A8%E6%8F%92%E4%BB%B6cjuidatepicker/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值