如何将变量从子级传递给父级 symfony?
How to pass variable from form child to parent symfony?
我遇到了 Symfony3 表单的问题。
我这样定义第一种形式:
class MyForm1Type extends AbstractType {
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', MyForm2Type::class, [
'startDate' => 6,
])
;
}
}
第二种形式:
class MyForm2Type extends AbstractType
{
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'startDate' => null,
'attr' => [
'startDate' => ?????,
],
]);
}
/**
* @return string|null
*/
public function getParent()
{
return DateType::class;
}
/**
* @return string|null
*/
public function getBlockPrefix()
{
return 'datePicker';
}
我会在 configureOptions 函数中获取 fieldOption 值并将其添加到 attr 数组,这可能吗?我需要在我的表单主题中使用此值来使用动态 startDate 参数实例化 datePicker,如下所示:
$('.input-datepicker').datepicker({
startDate: "-{{ attr.startDate }}y",
});
提前致谢:)
解决方法很简单:D
我们只需在第一种形式中添加 attr 属性,如下所示:
$builder
->add('name', MyForm2Type::class, [
'attr' => [ startDate => 6 ],
])
;
我遇到了 Symfony3 表单的问题。
我这样定义第一种形式:
class MyForm1Type extends AbstractType {
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', MyForm2Type::class, [
'startDate' => 6,
])
;
}
}
第二种形式:
class MyForm2Type extends AbstractType
{
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'startDate' => null,
'attr' => [
'startDate' => ?????,
],
]);
}
/**
* @return string|null
*/
public function getParent()
{
return DateType::class;
}
/**
* @return string|null
*/
public function getBlockPrefix()
{
return 'datePicker';
}
我会在 configureOptions 函数中获取 fieldOption 值并将其添加到 attr 数组,这可能吗?我需要在我的表单主题中使用此值来使用动态 startDate 参数实例化 datePicker,如下所示:
$('.input-datepicker').datepicker({
startDate: "-{{ attr.startDate }}y",
});
提前致谢:)
解决方法很简单:D
我们只需在第一种形式中添加 attr 属性,如下所示:
$builder
->add('name', MyForm2Type::class, [
'attr' => [ startDate => 6 ],
])
;