0

嫌いなものがあります。私は、それが提出された日付の選択肢を(3つの選択で)レンダリングする方法がどれほど醜いのか本当に嫌いです。自分のスタイル (または自分のサイトのスタイル) に合わせて、これらの巨大なスタイルのない選択を表示する方法が見つかりません。

したがって、2 つの可能性 (および質問):

  • その「選択」日付タイプをより美しくするために、どのように、どこで変更しますか?
  • 不可能な場合、または難しすぎる場合、特定のフィールド (この場合はその日付) を表示しないようにエンジンに指示する方法と場所は?

表示したくないフィールドを省略して、各フィールドを手動で表示できることはわかっています。しかし、逆はどうでしょうか。つまり、1 つを除くすべてのフィールドを表示するように symfony に指示しますか?

4

1 に答える 1

1

最初に、Symfony では、日付または日時フィールドのさまざまなウィジェットとフォーマットを選択できます。それらはここで説明されています: http://symfony.com/doc/current/reference/forms/types/date.html#widget

フィールドを編集するためのオプションは、'ROOT/TO/YOUR/BUNDLE/Form' ディレクトリにあるクラス 'YourEntityType' にあります。

例:

public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('datefield', null, array('widget' => 'single_text'));
}

あなたが提案する2つの可能性も可能です。

  1. 最初の可能性については、フォームをカスタマイズする方法に関するドキュメントを確認する必要があります。http://symfony.com/doc/current/cookbook/form/form_customization.html

親としてdate_timeフィールドを持つ独自のフィールドタイプを作成するかもしれません。

  1. フィールド「日付」を削除することもできます。

あなたのコントローラーで:

$form = $this->createForm(new EntityType(), $entity);
$form->remove('name of your field in the entity');

または EntityType クラスで:

public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('onefiled');
        $builder->add('datefield'); //this is the line you must delete
    }
于 2012-08-10T12:26:24.250 に答える