フォームの埋め込みコレクションに行き詰まっています。
name、begin、end の 3 つのフィールドで構成される Holiday フォームがあります。begin と end はBootstrap 日時ピッカーによって管理されることに注意してください
次に、いくつかのフィールドと休日フォームのコレクションで構成される成績フォームがあります。休日フォームを追加または削除するための JavaScript 部分は正常に機能します。
この画像でわかるように、開始アイコンと終了アイコンは表示されていません。しかし、これだけではありません。日時ピッカーは機能しません。symfony によって提供されたデータ プロトタイプが完全ではなく、いくつかのクラスが欠落していることがわかりました。
それを機能させるには、タイプにオプションまたは何かを追加する必要がありますか?
編集 :
私のグレードタイプ:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('name');
$builder->add('campus', 'entity',
[
'class' => 'Ent\HomeBundle\Entity\Campus',
'property' => 'name',
'query_builder' => function(\Doctrine\ORM\EntityRepository $er) use ($options) {
$qb = $er->createQueryBuilder('c');
if ($this->controller->getCurrentUser()->getGroup()->getRole() == 'ROLE_ADMIN') {
$qb->where($qb->expr()->in('c', ':campuses'))
->setParameter('campuses', $this->controller->getCurrentUser()->getCampuses()->toArray());
}
return $qb;
}
]
);
$builder->add('school', 'entity', [
'class' => 'Ent\HomeBundle\Entity\School',
'property' => 'name'
]
);
$builder->add('holidays', 'collection',
[
'type' => new HolidayType($this->controller),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false
]
);
}
私の休日の種類:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('name');
$builder->add('begin', new DatePickerType(), ['help' => 'Only the day and the month will be used']);
$builder->add('end', new DatePickerType(), [
'required' => false,
'help' => 'Only the day and the month will be used',
]
);
$builder->addEventListener(FormEvents::POST_BIND, array($this, 'isEndValid'));
}