私の質問は基本的に、埋め込みのフィールドのオプションを親フォームから変更することは可能ですか?
問題を説明するために、次のことを考慮してください。次のような親フォーム型クラスがあります。
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType())
;
}
別のバンドルにある子フォームタイプクラスであり、次のように編集したくない:
class AppleFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('qty', 'integer', array('label' => 'rubbish label')
;
}
のラベルを別のものに変更したいのですが、 が使用されているすべての場所ではなく、 でqty
のみこれを行いたいです。私は次のようなことができることを望んでいました:FruitForm
AppleForm
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType(), array('qty' => array('label' => 'better label')))
;
}
また:
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType())
;
$builder->get('apple')->get('qty')->setOption('label', 'better label');
}
しかし、これら(および他の多くの試み)のどちらも私に失敗したことはありません. setOption
私が見ることができる方法は存在しません。
これを行う方法を知っている人はいますか?
ありがとう