您的位置 首页

magento 后台模块开发之设定时间 显示小时和分钟

当我们在后台 Form.php 设定某个 输入框的时候有时候 我们需要设定一个可以选择时间的输入框 代码:  …

当我们在后台 Form.php
设定某个 输入框的时候有时候 我们需要设定一个可以选择时间的输入框
代码:
 $fieldset->addField(‘date’, ‘date’, array(
          ‘label’               =>  Mage::helper(‘web’)->__(‘Date’),
          ‘after_element_html’  =>  ‘<small>Comments</small>’,
          ‘tabindex’            =>  1,
          ‘image’               =>  $this->getSkinUrl(‘images/grid-cal.gif’),
          ‘format’             =>Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT)

      ));
这个时候我们就可以选择日期啦,但是我们通常还需要精确到 小时或者分钟 或者秒
(例如 限时抢购功能)
那么我们需要修改代码:
$fieldset->addField(‘date’, ‘date’, array(
          ‘label’               =>  Mage::helper(‘web’)->__(‘Date’),
          ‘after_element_html’  =>  ‘<small>Comments</small>’,
          ‘tabindex’            =>  1,
          ‘time’                => true,
          ‘image’               =>  $this->getSkinUrl(‘images/grid-cal.gif’),
          ‘format’             =>Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT)

      ));
添加 time 为true 会发现选择时间的 那个插件出现了 hours 和 minutes 选项
format 使用了getDateTimeFormat 函数就可以同时显示出 hour 和 minute
可以找到 getDateTimeFormat的定义
public function getDateTimeFormat($type)
    {
        return $this->getDateFormat($type) . ‘ ‘ . $this->getTimeFormat($type);
    }
我们也可以直接设定 format 为:
‘format’    =>   ‘yyyy-MM-dd HH:mm:ss’
不需要秒
‘format’    =>   ‘yyyy-MM-dd HH:mm:00’,
或者
‘format’    =>   ‘yyyy-MM-dd HH:mm’,
接下来就是 save函数等修改,防止 其中一些 格式过滤函数把我们现在的时间格式认为是不合法的。
还有一些grid 显示的地方:
在 Grid.php 中修改 addColumn 函数 中的 type
‘type’ => ‘datetime’, 即可
如果 显示的格式还是不合你意 那么你可以直接修改文件
app\code\core\Mage\Adminhtml\Block\Widget\Grid\Column\Renderer\Datetime.php
修改 其中的render函数即可。
(如果时间显示不正确 例如始终 差了几个小时 可能是时区设置问题 ,修改时区即可)
addField 还有 time 这个type
$fieldset->addField(‘time’, ‘time’, array(
        ‘label’               =>  Mage::helper(‘form’)->__(‘Time’),
        ‘class’               =>  ‘required-entry’,
        ‘required’            =>  true,
        ‘name’                =>  ‘title’,
        ‘onclick’             =>  “”,
        ‘onchange’            =>  “”,
        ‘disabled’            =>  false,
        ‘readonly’            =>  false,
));
显示的样子类似

此文章通过 python 爬虫创建,原文是自己的csdn 地址: magento 后台模块开发之设定时间 显示小时和分钟

本文来自网络,不代表找知博客立场,转载请注明出处:http://zhaozhiyong.cn/101.html

作者: 于老大

关注微博
返回顶部
//