Magento - 如何添加返回DD / MM / YY而不是MM / DD / YY的前端日期选择器?

时间:2011-12-01 01:24:13

标签: magento

在我的表格中,我有:

<?php echo $this->__('Date') ?>: 
<input type="text" name="cal_date" id="cal_date" value="" /> 
<img title="Select date" id="cal_date_trig" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN) . 'adminhtml/default/default/images/grid-cal.gif'; ?>"  class="v-middle"/>

显示日历。

在标题中我有:

<reference name="head">
        <action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
        <action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
        <action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
</reference>

这会加载js和css。

在布局xml中我有:

<block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/>

当我在模板中包含日历选择器时,这会将日历选择器添加到页面中:

<?php echo $this->getChildHtml('html_calendar') ?>

我没有错误,日期选择器也有效。

我已使用en_GB语言环境将后端的日期格式设置为dd / mm / yy。但是我仍然获得美国日期格式。我怎样才能获得英国日期格式?

4 个答案:

答案 0 :(得分:7)

您可以在表单上放置日历,如下所示:

<input type="text" name="date_to" id="date_to" value="" /> 
<input type="text" name="date_from" id="date_from" value="" />

<script type="text/javascript">// <![CDATA[
Calendar.setup({
    inputField : 'date_from',
    ifFormat : '%m/%e/%y',
    button : 'date_from_trig',
    align : 'Bl',
    singleClick : true
});

Calendar.setup({
    inputField : 'date_to',
    ifFormat : '%m/%e/%y',
    button : 'date_to_trig',
    align : 'Bl',
    singleClick : true
});
// ]]></script>

答案 1 :(得分:3)

你必须添加:

 <block type="core/html_calendar" name="head.calendar" as="calendar" template="page/js/calendar.phtml"/>

在头部参考中使这个工作在1.7

答案 2 :(得分:2)

将javascript中的格式更改为

<script type="text/javascript">
  Calendar.setup({
  inputField : 'date_from',
  ifFormat : '%m/%e/%y',
  button : 'date_from_trig',
  align : 'Bl',
  singleClick : true
  });
</script>

将ifFormat更改为'%e%m%y',这将类似于

<script type="text/javascript">
  Calendar.setup({
  inputField : 'date_from',
  ifFormat : '%e%m%y',
  button : 'date_from_trig',
  align : 'Bl',
  singleClick : true     
  });

答案 3 :(得分:2)

将ifFormat更改为'%e%m%y'会将输入类型更改为d / m / y(这是我需要的)但当我查看帐户信息时,日期更改为1970/01/01。我应该进行更改是将日期存储为d / m / y ??

的数据库