Symfony2: расширение поля даты ветки - PullRequest
1 голос
/ 19 июня 2011

Я хотел бы переопределить существующий тип поля даты, чтобы я мог использовать компонент js.Я пытался до сих пор:

{% block date_widget %}
{% spaceless %}         
    <input type="text" {{ block('attributes') }} readonly="true" value="{{ value }}"/>
    <script>
        mycal = new dhtmlxCalendarObject("{{ id }}");
        mycal.setSkin('yahoolike');
        mycal.setDateFormat('%d.%m.%Y');
        mycal.loadUserLanguage("de");
        mycal.draw();
    </script>          
{% endspaceless %}
{% endblock date_widget %}

Пока это не работает (компонент js показан, но без функции), мои вопросы: в value мне нужно представление даты какстрока вроде '31.12.2011', но value кажется пустым массивом.

Еще один вопрос: как twig / sf2 может распознать результат?Компоненты записывают дату в виде строки в поле ввода, но sf выдает ошибку

Ожидаемый аргумент типа «массив», строка «дано»

Я используюSymfony 2.0, бета 5

1 Ответ

1 голос
/ 20 июня 2011

Мне удалось - моя ошибка была в том, что я забыл указать опцию 'widget' как один текст: 'widget' => 'single_text'.

Вот мой FormBuilder:

$builder->add('abgabedatum', 'date', array('label' => 'Abgabedatum', 'widget' => 'single_text'));

и моя запись в fields.html.twig (моя form_theme)

{% block date_widget %}
{% spaceless %} 
<input type="text" {{ block('attributes') }} readonly="true" value="{{ value }}"/>
<script>
mycal = new dhtmlxCalendarObject("{{ id }}");
mycal.setSkin('yahoolike');
mycal.setDateFormat('%d.%m.%Y');
mycal.loadUserLanguage("de");
mycal.draw();
</script> 
{% endspaceless %}
{% endblock date_widget %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...