我如何在magento的日历中显示时间?

时间:2011-10-18 08:20:14

标签: magento

我想在Magento日历中显示时间。为此,我按照this url按照说明进行操作。

首先,我通过更改此内容修改了date.php

$this->getTime() ? 'true' : 'false',

到此:

$this->getTime() ? 'true' : 'true',

然后我改变了

$displayFormat = Varien_Date::convertZendToStrFtime($outputFormat, true, (bool)$this->getTime());

$displayFormat = Varien_Date::convertZendToStrFtime($outputFormat = Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT));  

然后我更新了en.xml文件,来自:

<dateFormatLength type="short">
   <dateFormat>
      <pattern>M/d/yy</pattern>
   </dateFormat>
</dateFormatLength>

为:

<dateFormatLength type="short">
   <dateFormat>
      <pattern>M/d/yy h:mm a</pattern>
   </dateFormat>
</dateFormatLength> 

一切正常,但我得到一个奇怪的错误;现在,当我单击日历图标并更改值时,输入框中的值显示为10/10/11 02:10 PM 02:10 PM。如何解决此错误?

1 个答案:

答案 0 :(得分:4)

以下是一个获取日期时间日历字段的示例,该字段在Magento 1.4及更高版本上进行了测试:

public function getHtmlDateStartOptions($product = null)
    {
    $configValue = $this->getProduct()->getPreconfiguredValues()->getData('subscription_date_start');
    $dateStrFormat = Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);

    $dateStartId = 'subscription_date_start';
    $form = new Varien_Data_Form();
    $element = $form->addField($dateStartId, 'date', array(
        'name'      => $dateStartId,
        'style'     => 'width:100px',
        'image' => $this->getSkinUrl('images/grid-cal.gif'),
        'format'    => $dateStrFormat,
        'no_span'   => true,
        'time' => true,
    ));

    $element->setValue($configValue, $dateStrFormat);// date format must be defined here too, don't remove
    return $form->toHtml();
}