Magento - Как добавить средство выбора даты внешнего интерфейса, которое возвращает МД / ММ / ГГ вместо ММ / ДД / ГГ? - PullRequest
6 голосов
/ 01 декабря 2011

В моей форме у меня есть:

<?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. Однако я все еще получаю американские форматы даты. Как я могу получить британские форматы дат?

Ответы [ 4 ]

7 голосов
/ 01 декабря 2011

Вы можете разместить календарь на форме следующим образом:

<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>
3 голосов
/ 12 июня 2013

Вы должны добавить:

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

в ссылке на голову, чтобы получить эту работу в 1,7

2 голосов
/ 12 ноября 2013

изменение ifFormat на «% e% m% y» изменяет тип ввода на «d / m / y» (что мне и требовалось), но когда я просматриваю информацию об учетной записи, дата меняется на 1970/01/01. Должен ли я внести изменения в базу данных для хранения даты в виде д / м / г ??

2 голосов
/ 04 июля 2013

Изменить формат в 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     
  });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...