<?php
namespace App\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\Options;
use Symfony\Component\OptionsResolver\OptionsResolver;
class RadioButtonChoiceType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'expanded' => true,
'multiple' => false,
'label' => true,
'attr' => ['class' => 'radio-button'],
'label_attr' => ['class' => 'radio-custom'],
]);
$resolver->setNormalizer('attr', function (Options $options, $value) {
// Merge the child attr with the these, the parent constraints
if(!isset($value['class'])){
$value['class']=' radio-button';
}
$value['class']= $value['class'].' radio-button';
return $value;
});
}
public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->vars['is_buttonChoice'] = true;
}
public function getParent()
{
return ChoiceType::class;
}
}