2011-06-19 126 views
1

我想覆蓋現有的日期字段類型,以便我可以使用js組件。 我試過到目前爲止:Symfony2:擴展樹枝日期字段

{% 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

我成功了 - 我的錯誤是我忘了指定'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 %}