Partage
  • Partager sur Facebook
  • Partager sur Twitter

Affichage des images easyadminBundle

Sujet résolu
    21 mars 2019 à 16:57:34

    Bonjour,

    je sollicite votre aide, cela fait un bon moment que je suis dessus,

    alors,

    je une entité Article qui est relié à plusieurs images (Image), le but c'est de pouvoir les affichages lors d'édition de l'article,

    ils sont géré automatiquement par le fameux bundle easyadmin et vichuploaderbundle,

    merci de votre aide,

    voici ce qui s'affiche 

    voici mon code:

    # config/packages/easy_admin.yaml
    easy_admin:
        entities:
            Article:
                controller: App\Controller\EasyAdmin\ArticleController
                class: App\Entity\Article
                new:
                    fields:
                    - { property: 'name' }
                    - { property: 'content', type: 'fos_ckeditor' }
                    - { property: 'categories', type: 'easyadmin_autocomplete', type_options: { mapped: false, class: 'App\Entity\Categorie', multiple: true} }
                    - { property: 'images', type: 'collection', type_options: { entry_type: 'App\Form\ImageType' , by_reference: false}}
    
                edit:
                    fields:
                    - { property: 'name', type_options: { block_name: 'custom_name' } }
                    - { property: 'content', type: 'fos_ckeditor' }
                    - { property: 'categories', type: 'easyadmin_autocomplete', type_options: { class: 'App\Entity\Categorie', multiple: true} }
                    - { property: 'images', type: 'collection', type_options: { entry_type: 'App\Form\ImageType' , by_reference: false}}
    
    
            Categorie:
                label: 'Categories'
                class: App\Entity\Categorie
                form:
                    fields:
                    - { property: 'name', type: 'text' }
                    - { property: 'description', type: 'fos_ckeditor' }
    



    -
    Edité par zikou23 21 mars 2019 à 17:01:09

    • Partager sur Facebook
    • Partager sur Twitter
    zikou
      21 mars 2019 à 22:22:26

      Bonjour,

      Tu n'aurais pas dans ton entité une variable imagesFile par hasard? Si c'est le cas, ça devrais plus être cette variable que tu devrais mettre plutôt que images.

      • Partager sur Facebook
      • Partager sur Twitter
      "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
        22 mars 2019 à 10:30:06

        eclairia a écrit:

        Bonjour,

        Tu n'aurais pas dans ton entité une variable imagesFile par hasard? Si c'est le cas, ça devrais plus être cette variable que tu devrais mettre plutôt que images.

        Dans mon Articles j'ai la relations avec Image c'est pour ça le field images, et c'est dans mon entité Image que se trouve imagefiles.


        <?php
        
        namespace App\Entity;
        
        use Doctrine\Common\Collections\ArrayCollection;
        use Doctrine\Common\Collections\Collection;
        use Doctrine\ORM\Mapping as ORM;
        use Gedmo\Mapping\Annotation as Gedmo;
        use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
        /**
         * @ORM\Entity(repositoryClass="App\Repository\ArticleRepository")
         * @ORM\HasLifecycleCallbacks()
         * @UniqueEntity("name",message="Nom de votre article existe déjà.")
         */
        class Article
        {
            /**
             * @ORM\Id()
             * @ORM\GeneratedValue()
             * @ORM\Column(type="integer")
             */
            private $id;
        
            /**
             * @ORM\Column(type="string", length=255)
             */
            private $name;
        
            /**
             * @ORM\Column(type="text")
             */
            private $content;
            /**
             * @ORM\Column(type="datetime")
             */
            private $created_at;
        
            /**
             * @ORM\OneToMany(targetEntity="App\Entity\ArticleCategorie", mappedBy="articles", cascade={"remove"}, orphanRemoval=true)
             * @ORM\JoinColumn(nullable=false)
             */
            private $article_categories;
        
            /**
             * @Gedmo\Slug(fields={"name"})
             * @ORM\Column(length=128, unique=true)
             */
            private $slug;
        
            /**
             * @ORM\OneToMany(targetEntity="App\Entity\Image", mappedBy="article", cascade={"persist","remove"})
             */
            private $images;
        
        
        
        
            public function __construct()
            {
                $this->article_categories = new ArrayCollection();
                $this->images = new ArrayCollection();
            }
        
            public function getSlug()
            {
                return $this->slug;
            }
        
            public function getId(): ?int
            {
                return $this->id;
            }
        
            public function getName(): ?string
            {
                return $this->name;
            }
        
            public function setName(string $name): self
            {
                $this->name = $name;
        
                return $this;
            }
        
            public function getCreatedAt(): ?\DateTimeInterface
            {
                return $this->created_at;
            }
        
            public function setCreatedAt(\DateTimeInterface $created_at): self
            {
                $this->created_at = $created_at;
        
                return $this;
            }
        
        
            /**
             * @ORM\PrePersist()
             */
            public function onPrepersist()
            {
                $this->created_at = new \DateTime();
                return $this;
            }
        
            public function getContent(): ?string
            {
                return $this->content;
            }
        
            public function setContent(string $content): self
            {
                $this->content = $content;
        
                return $this;
            }
        
            /**
             * @return Collection|ArticleCategorie[]
             */
            public function getArticleCategories(): Collection
            {
                return $this->article_categories;
            }
        
            public function addArticleCategory(ArticleCategorie $articleCategory): self
            {
                if (!$this->article_categories->contains($articleCategory)) {
                    $this->article_categories[] = $articleCategory;
                    $articleCategory->setArticles($this);
                }
        
                return $this;
            }
        
            public function removeArticleCategory(ArticleCategorie $articleCategory): self
            {
                if ($this->article_categories->contains($articleCategory)) {
                    $this->article_categories->removeElement($articleCategory);
                    // set the owning side to null (unless already changed)
                    if ($articleCategory->getArticles() === $this) {
                        $articleCategory->setArticles(null);
                    }
                }
        
                return $this;
            }
        
            public function getCategories()
            {
                $return = [];
                foreach ($this->article_categories as $articleCategorie) {
                    $return[] = $articleCategorie->getCategories();
                }
                return $return;
            }
        
            /**
             * @return Collection|Image[]
             */
            public function getImages(): Collection
            {
                return $this->images;
            }
        
            public function addImage(Image $image): self
            {
                if (!$this->images->contains($image)) {
                    $this->images[] = $image;
                    $image->setArticle($this);
                }
        
                return $this;
            }
        
            public function removeImage(Image $image): self
            {
                if ($this->images->contains($image)) {
                    $this->images->removeElement($image);
                    // set the owning side to null (unless already changed)
                    if ($image->getArticle() === $this) {
                        $image->setArticle(null);
                    }
                }
        
                return $this;
            }
        }
        


        • Partager sur Facebook
        • Partager sur Twitter
        zikou
          20 mai 2019 à 3:39:21 - Message modéré pour le motif suivant : Message complètement hors sujet


            24 octobre 2019 à 17:29:29

            Bonjour, a tu trouvé une solution à ton problème ?

            Je planche aussi sur le même cas

            • Partager sur Facebook
            • Partager sur Twitter
              21 novembre 2019 à 17:39:54

              Je ne connaissait pas trop sur easyadminbundle mais j'ai du créé une template image collection, y mettre la logique dessus et de surcharger la template édition de l'entité. 

              Nb: excusez pour la réponse tardive :)

              • Partager sur Facebook
              • Partager sur Twitter
              zikou

              Affichage des images easyadminBundle

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown