Symfony PHP - формат виджета даты и поле даты базы данных - PullRequest
1 голос
/ 21 октября 2011

У меня есть форма, где у меня есть такой виджет:

  $this->widgetSchema['valid_to'] 
          = new sfWidgetFormDate(array('format'=>'%day%/%month%/%year%','years'=>range('1990',date('Y')+5)), array());

К сожалению, формат даты также привел к тому, что он пытается сохранить дату с этим форматом в базе данных, что, конечно, плохо.

Может кто-нибудь сказать, как это починить?

Спасибо заранее Гейб

1 Ответ

1 голос
/ 23 октября 2011

Я использую это решение, настройки и код в своем бэкэнде, который вы можете легко разместить в своем проекте.

В apps/backend/config/settings.yml:

 all:
  .settings:
    default_culture: it_IT
    i18n:            on

В apps/backend/i18n/messages.it.xml

<?xml version="1.0" ?>
<xliff version="1.0">
  <file original="global" source-language="it" datatype="plaintext">
    <body>
      <trans-unit id="1">
        <source>Hello</source>
        <target>Ciao</target>
      </trans-unit>
      <trans-unit id="2">
        <source><![CDATA[%month% %day% %year%]]></source>
        <target><![CDATA[%day% %month% %year%]]></target>
      </trans-unit>
    </body>
  </file>
</xliff>

В виджете даты это format:

'format' => sfContext::getInstance()->getI18N()->__('%month% %day% %year%')

Дата будет сохранена в формате гггг-мм-дд, но будет отображаться в установленной вами культуре.

...