Symfony 4: локализованные формы даты веток - PullRequest
0 голосов
/ 14 января 2020

Я был использован для переопределения date_widget в форме / полях. html .twig файл в Symfony 2 и 3, чтобы заставить сгенерированные веточкой варианты выбора даты во французском порядке: день, месяц, год с этим кодом:

{%- block date_widget -%}


  {%- if widget == 'single_text' -%}
        {{ block('form_widget_simple') }}
    {%- else -%}
        <div {{ block('widget_container_attributes') }}>
            {{- date_pattern|replace({
                '{{ year }}':  form_widget(form.year),
                '{{ month }}': form_widget(form.day),
                '{{ day }}':   form_widget(form.month),
            })|raw -}}
        </div>
    {%- endif -%}

{%- endblock date_widget -%}

Теперь с Symfony 4.4 я автоматически получаю этот французский приказ на моей станции Linux. Но на производственном сервере заказ снова соответствует стандарту США: месяц, день, год. Если я переопределю этот заказ с помощью приведенного выше примера кода, я получу французский заказ на производственном сервере, но американский заказ на моей станции.

Обе системы имеют php .ini, определяющий date.timezone = ' Европа / Париж '

Кроме того, названия месяцев указаны на французском языке и на английском языке sh в соответствии с положением месяца. Так, где TWIG ищет локаль, чтобы определить этот порядок?

Спасибо

1 Ответ

0 голосов
/ 16 января 2020

Я нашел хитрость: Twig использует расширение php -intl для локализации. Это расширение отсутствовало на моем производственном сервере.

...