Décrivez ici votre problème ou ce que vous cherchez à faire.
bonjour,
j'ai une des entités 'annonce', 'categories','souCategories'
ce que je veux :une fois je selectionne la categorie 'voiture' dans le menu déroulant ,que les champs :'model','boite-a-vitesse','Gasoil' s'affiche dans le formulaire de l'ajout d'annonce
Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code)
mon annonceType
"```"
class AnnoncesType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('price',TextType::class,['label'=> false,
'attr'=> [
'placeholder' =>'EX.:2000 sans vérgule'
],
'constraints'=>[
new Length([
'min' => 3,
'minMessage' => 'votre prix doit etre à {{ limit }} chiffre',
// max length allowed by Symfony for security reasons
'max' =>10,
]),
],
])
->add('title',TextType::class,['label'=> false,
'attr'=> [
'placeholder' =>'ajouter votre titre'
],])
->add('categories',EntityType::class,['class'=>Categories::class,
'placeholder' => '--Selectionner--',
])
->add('souscategories',collectionType::class,[
'mapped' => false,
'entry_type'=>SousCategoriesType::class,
'label'=>false,
'entry_options'=>['label'=>false],
'allow_add'=>true,
'allow_delete'=>true,
'by_reference'=>false
])
->add('Valider',SubmitType::class)
->add('regions', EntityType::class, [
'mapped' => false,
'class' => Regions::class,
'choice_label' => 'name',
'placeholder' => 'Région',
'label' => 'Région',
'required' => false,
//lister les noms des regions par ordre alphabetique
'query_builder'=>function(regionsRepository $regionRepo){
return $regionRepo->createQueryBuilder('r')->orderBy('r.name','ASC')
;
}
])
->add('departements', choiceType::class, [
'placeholder' => 'Département (Choisir une Région)',
'required' => false,
//lister les noms des departements par ordre alphabetique
// 'query_builder'=>function(departementsRepository $departementsRepo){
// return $departementsRepo->createQueryBuilder('d')->orderBy('d.name','ASC');
// }
])
->add('images', FileType::class,[
'label' => false,
'multiple' => true,
'mapped' => false,
'required' => false])
->add('content',CKEditorType::class)
->add('Valider',SubmitType::class,['attr'=>['class'=>'btn rounded-1 small blue press mt-2 mb-2']]);
$formModifier = function (FormInterface $form, Regions $regions = null) {
$departements = null === $regions ? [] : $regions->getDepartements();
$form->add('departements', EntityType::class, [
'class' => Departements::class,
'choices' => $departements,
'required' => false,
'choice_label' => 'name',
'placeholder' => 'Département (Choisir une région)',
'attr' => ['class' => 'custom-select'],
'label' => 'Département'
]);
};
$builder->get('regions')->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event) use ($formModifier) {
$region = $event->getForm()->getData();
$formModifier($event->getForm()->getParent(), $region);
}
);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Annonces::class,
]);
}
}
"```"
"```"
class CategoriesType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name',TextType::class,)
//->add('color', ColorType::class)
->add('parent')
->add('valider',SubmitType::class,[
'attr'=>[
'class'=>'btn primary small rounded-2',]
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Categories::class,
]);
}
}
"```"
**Ce que je veux**
afficher les champs sous categories'cachés' du categorie aprés selection categorie "voiture"dans le menu deroulant
Décrivez ce que vous cherchez à obtenir.
**Ce que j'obtiens**
Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(