1
メインformType(下記参照)に含めるformType(TagsType)を使用してバンドル内にタグシステムを作成しました。 $ options引数の値をMyFormTypeからTagsTypeにどのように送ることができるか知りたいです。
//...
use EC\TagBundle\Form\Type\TagsType;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
//...
->add('tags', TagsType::class)
//...
;
}
}
マイTagsType
//...
use Symfony\Component\Form\Extension\Core\Type\TextType;
class TagsType extends AbstractType
{
/**
* @var ObjectManager
*/
private $manager;
public function __construct(ObjectManager $manager)
{
$this->manager = $manager;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->addModelTransformer(new CollectionToArrayTransformer(), true)
->addModelTransformer(new TagsTransformer($this->manager), true)
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefault('attr', [
'class' => 'tag-input',
]);
$resolver->setDefault('required', false);
}
public function getParent()
{
// Il retourne un TextType par défaut.
return TextType::class;
}
}