2
$builder->add('body','text',array('label' => FALSE)//default label is displayed
$builder->add('body','text',array('label' => '')//default label is displayed
$builder->add('body','text',array('label' => 0)//default label is displayed
$builder->add('body','text',array('label' => ' ')//empty label is displayed

labelしかし、タグをレンダリングする必要はありません。form_widget(form)ビューで を使用していますが、 を使用してフォームを表示できませんform_row(form.field1) ... form_row(form.field25)。FormBuilder のみを使用してラベルを削除したい。それが可能だ?

4

4 に答える 4

7

次のように、フィールドに独自の twig ファイルを使用して、デフォルトのフォーム レイアウトを拡張できます。

<!-- import default layout from symfony -->  
{% use 'form_div_layout.html.twig' with field_label as base_field_label %}

<!-- overwrite the element you want to change (in this case default input-field -->
{% block field_row %}
    {% spaceless %}
        <div class="row">
            <!-- removing this line, you're nearly done -->
            {{ form_label(form) }}
            {{ form_widget(form) }}
        </div>
    {% endspaceless %}
{% endblock field_row %}

その後、フォームをレンダリングする twig ファイルにこの新しいフォーム テーマを設定します。

{% form_theme form 'VendorNameBundle:Folder:backend_fields.html.twig' %}

それだけです。

すべてのデフォルト値を知りたい場合は、リポジトリの次のファイルを参照してください: form_div_layout.html.twig

于 2012-08-17T14:11:56.737 に答える
3

この実用的なソリューションを sf2.4.6 でテストしました:

$builder->add('body','text',array('label' => false);

このソリューションはよりも優れています

label => ' '

これは単一の空間をレンダリングするだけです。さらに、最終的に form_label を削除するために、レンダリングを form_widget と form_label に分割する必要はありません。

于 2015-02-24T19:59:06.013 に答える
2

より良い解決策は次のとおりです。

[..Type.php]

$builder
            ->add('email', EmailType::class ) //will display default label
            ->add('username', TextType::class,
                array(
                    'label' => false,
                    'attr' => array(
//                      'class' => 'myclassfrom.css', //<- this one is realy avesome
                        'placeholder' => 'UsernameExample',
                        'autofocus' => '',

                    ),
            ))

必要なのは、関連する小枝を入れるだけです

 {{ form_start(form) }}
                        {{ form_row(form.username) }}
 {{ form_end(form) }}
于 2016-12-22T19:07:39.170 に答える