服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > magento教程 >

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

时间:2016-10-25 17:46来源:未知 作者:最模板 点击:
当我们在magento后台 Form.php 设定某个 输入框的时候有时候 我们需要设定一个可以选择时间的输入框 代码: $fieldset-addField(date, date, array( label = Mage::helper(web)-__(Date), after_element_html = small
当我们在magento后台 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,
));
显示的样子类似(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容