Bonjour,

J'ai un formulaire pour ajouter des Ads(les publicités) et pour chaque Ad je doit ajouter des image : le site est comme airbnb(gestion des annonces)
alors j'ai un formulaire imbriqué (collection d'image dans le formulaire pour ajouter des Ads):

AdType.php :

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('title', TextType::class, $this->getConfiguration("titre", "tapez un super titre pour votre annonce"))
            ->add('slug', TextType::class, $this->getConfiguration("Adresse web", "tapez l'adresse web (automatique)"))
            ->add('coverImage', UrlType::class, $this->getConfiguration("Url de l'image principal", "Donnez l'adresse d'une image qui donne vraiment envie"))
            ->add('introduction', TextType::class, $this->getConfiguration("introduction", "donnez une description global de l'annonce"))
            ->add('content', TextareaType::class, $this->getConfiguration("Description detaille", "tapez une description qui donne vraiment envie de venir chez vous !"))
            ->add('rooms', IntegerType::class, $this->getConfiguration("Nombre de chambre", "le nom de chambres disponibles"))
            ->add('price', MoneyType::class, $this->getConfiguration("Prix par nuit", "indiquez le prix que voulez pour une nuit"))
            ->add('images',CollectionType::class, [
                'entry_type' => ImageType::class,
                'allow_add' => true
            ])
        ;
    }

et voici imageType.php :

<?php
 
namespace App\Form;
 
use App\Entity\Image;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\UrlType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
 
class ImageType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('url', UrlType::class, [
                "attr" => [
                    'placeholder' => "Url de l'image"
                ]
            ])
            ->add('caption', TextType::class, [
                "attr" => [
                    'placeholder' => "Titre de l'image"
                ]
            ])
        ;
    }
 
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Image::class,
        ]);
    }
}

je veux installer et utiliser ce plugin

depuis la documentation :

symfony-collection form theme will be installed in app/Resources/views

symfony-collection jquery plugin will be installed in web/js.

mais je n'ai pas le dossier app ni web dans mon projet :

mon projet et de version 4.4.1
merci d'avance

2 réponses


Bonjour blabla,

Les vue sont maintenant dans le dossier "templates" et tout ce qui concerne le js est dans le dossier "public". Peux tu nous fournir les urls des plugin stp ?

Merci a toi

bla bla
Auteur

Bonjour,
desolé j'ai oublié de mettre le lien du plugin : https://github.com/ninsuo/symfony-collection