Как я могу показать время в календаре в magento? - PullRequest
1 голос
/ 18 октября 2011

Я хочу показать время в календаре Magento.Для этого я следовал инструкциям согласно этому 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>

to:

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

Все работает нормально, но я получаю странную ошибку;Теперь, когда я нажимаю на значок календаря и изменяю значение, значение в поле ввода отображается как 10/10/11 02:10 PM 02:10 PM.Как я могу устранить эту ошибку?

1 Ответ

4 голосов
/ 18 октября 2011

Вот пример получения поля с календарем даты и времени, протестированного на 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...