2011-06-19 17 views
1

jsコンポーネントを使用できるように、既存の日付フィールドタイプを上書きしたいと思います。 は、私がこれまで試した:Symfony2:twig日付フィールドの拡張

{% 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は空の配列のようです。

もう1つ質問: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 %} 
関連する問題