2016-06-01 6 views
0

で作業していない私は小枝ファイルにレンダリングするフォームを持っている:form_label()boolean型

形式:

$builder 

     ->add('text', CKEditorType::class, array (
      'config_name' => 'my_config', 
      'label' => "tracker.event.labels.text" 

     )) 

     ->add('effTime', IntegerType::class, array (
      'data' => 0, 
      'label' => "tracker.event.labels.efftime" 
     )) 

     ->add('private', CheckboxType::class, array(
      'label' => "tracker.event.private.title", 
      'data' => false, 
      'required' => false 
     )) 
    ; 

小枝ファイル:

{% form_theme formadd 'AtgpAppBundle:_Form:_form.html.twig' %} 

        {{ form_start(formadd) }} 
        {{ form_errors(formadd) }} 
        <div class ="row"> 
         <span class="col-md-2"> 
          {{form_label(formadd.text)}} 
         </span> 
         <span class="col-md-10"> 
          {{form_errors(formadd.text)}} 
          {{form_widget(formadd.text)}} 
         </span> 
        </div> 
        <div class="row"> 
         <span class="col-md-2"> 
          {{form_label(formadd.effTime)}} 
         </span> 
         <span class="col-md-10"> 
          {{form_errors(formadd.effTime)}} 
          {{form_widget(formadd.effTime)}} 
         </span> 
        </div> 
        <div class="row"> 
         <span class="col-md-2"> 
          {{form_label(formadd.private)}} 
         </span> 
         <span class="col-md-1"> 
          {{form_errors(formadd.private)}} 
          {{form_widget(formadd.private) }} 
         </span> 
         <span class="col-md-9"> 
          {{ "tracker.event.private.help" |trans }} 
         </span> 
        </div> 
        {{ form_end(formadd) }} 

すべてがうまく動作しますが、最後の行を除いて。

col-md-2は、 "private"のラベルが空白である必要があります。ラベルと内側のチェックボックスとform_widgetは "クラス= COL-MD-1" スパンの内側に他の

<div class="row"> 

を作成したいくつかの理由

を。

Here's how the whole row renders

私はきちんと正しい場所に表示されるラベルをしたいと思います。命令form_label()は単純に無視されます。書き込まなければ同じ命令がレンダリングされます。

どうすればできますか?自分のコードで何が間違っていますか?

はあなたに

EDITありがとう:私はちょうどfalseにラベル値を設定し、小枝に直接書き込むことができていることを考え出しました。 しかし、私はまだ命令form_labelがブール値で無視される理由を知りません。

答えて

0

すべきではないですように私はthe documentationに私の質問への答えを見つけたtracker.event.labels.XXXXXのようなものです。

私たちは、これを読むことができます。

あなたは何も表示されませんチェックボックス/ラジオ・フィールドのform_label()を呼び出す、ブートストラップフォームのテーマを使用して、手動でフィールドをレンダリングするとき。ブートストラップの内部構造のため、ラベルはすでにform_widget()によって表示されています。

だから私が行うために必要なものを、ここからチェックボックスウィジェットブロックを無効にすることでした。これに

:この構文は、翻訳のためである

{% block checkbox_widget %} 
     <input type="checkbox" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} /> 
{% endblock %} 
0

野生の推測:すべてのラベルが最後のものはtracker.event.private.titleはそれがtracker.event.labels.private.title

+0

、それができません関連する。 他のものと一致するように変更することはできますが、問題は解決しません。 – abernard

関連する問題