2016-11-09 1 views
1

Je veux ajouter une photo de profil à ma classe admin, mais j'eu cette erreur:Tentative de charger la classe « Media » de l'espace de noms « Application MediaBundle Entité »

Tentative de charger la classe « Media » de l'espace de noms "Application \ MediaBundle \ Entity". Avez-vous oublié une instruction "use" pour, par exemple, "Sonata \ MediaBundle \ Model \ Media", "Sonata \ MediaBundle \ Tests \ Entity \ Media", "Sonata \ MediaBundle \ Tests \ Document \ Media" ou "Sonata \ MediaBundle \ Tests \ PHPCR \ Media"?

J'ai beaucoup cherché mais pas de solution. ceci est mon code

entité utilisatrice

> /** 
>  * @var \Application\Sonata\MediaBundle\Entity\Media 
>  * @ORM\ManyToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media", 
> cascade={"persist"}, fetch="LAZY") 
>  */ 
>  protected $media; 
> 
>  /** 
>  * Set media 
>  * 
>  * @param \Application\Sonata\MediaBundle\Entity\Media $media 
>  * @return User 
>  */ 
>  public function setMedia(\Application\Sonata\MediaBundle\Entity\Media $media = null) 
>  { 
>   $this->media = $media; 
> 
>   return $this; 
>  } 
> 
>  /** 
>  * Get media 
>  * 
>  * @return \Application\Sonata\MediaBundle\Entity\Media 
>  */ 
>  public function getMedia() 
>  { 
>   return $this->media; 
>  } 

utilisateur admin

/** 
    * @param \Sonata\AdminBundle\Form\FormMapper $formMapper 
    * 
    * @return void 
    */ 
    protected function configureFormFields(FormMapper $formMapper) 
    { 
     $formMapper 
      ->with('General') 
      ->add('username') 
      ->add('email') 
      ->add('enabled') 
      ->add('firstname') 
      ->add('lastname') 
      ->add('plainPassword', 'password', array(
       'required' => (!$this->getSubject() || is_null($this->getSubject()->getId())), 
      )) 
      ->add('media', 'sonata_media_type', array('provider' => 'sonata.media.provider.image', 'context' => 'engine', 'data_class' => 'Application\Sonata\MediaBundle\Entity\Media', 'required' => false)) 
      ->end(); 
    } 

config.yml

# app/config/config.yml 

sonata_media: 
    class: 
     media: Application\MediaBundle\Entity\Media 
     gallery: Application\MediaBundle\Entity\Gallery 
     gallery_has_media: Application\MediaBundle\Entity\GalleryHasMedia 
    # if you don't use default namespace configuration 
    #class: 
    # media: MyVendor\MediaBundle\Entity\Media 
    # gallery: MyVendor\MediaBundle\Entity\Gallery 
    # gallery_has_media: MyVendor\MediaBundle\Entity\GalleryHasMedia 
    db_driver: doctrine_orm # or doctrine_mongodb, doctrine_phpcr it is mandatory to choose one here 
    default_context: default # you need to set a context 
    contexts: 
     default: # the default context is mandatory 
      providers: 
       - sonata.media.provider.dailymotion 
       - sonata.media.provider.youtube 
       - sonata.media.provider.image 
       - sonata.media.provider.file 
       - sonata.media.provider.vimeo 

      formats: 
       small: { width: 100 , quality: 70} 
       big: { width: 500 , quality: 70} 
     # other contexts here 
     engine: 
      providers: 
       - sonata.media.provider.image 

      formats: 
       preview: { width: 100, quality: 100} 
       small:  { width: 200, quality: 100} 
       large:  { width: 600, quality: 100} 
    cdn: 
     server: 
      path: /uploads/media # http://media.sonata-project.org/ 

    filesystem: 
     local: 
      directory: "%kernel.root_dir%/../web/uploads/media" 
      create:  false 
    providers: 
     image: 
      resizer: sonata.media.resizer.square 

doctrine: 
    orm: 
     entity_managers: 
      default: 
       mappings: 
        FOSUserBundle: ~ 
        SonataMediaBundle: ~ 
    dbal: 
     types: #this is about this line and line below 
      json:  \Doctrine\DBAL\Types\StringType 
doctrine_phpcr: 
    odm: 
     auto_mapping: true 
     mappings: 
      SonataMediaBundle: 
       prefix: Sonata\MediaBundle\PHPCR 

c'est le tutoruial d'aide? désolé pour l'anglais

Répondre

0

le problème est dans le fichier de configuration de config.yml

> sonata_media: 
>  class: 
>   media: Application\Sonata\MediaBundle\Entity\Media 
>   gallery: Application\Sonata\MediaBundle\Entity\Gallery 
>   gallery_has_media: Application\Sonata\MediaBundle\Entity\GalleryHasMedia 
>   category: Application\Sonata\ClassificationBundle\Entity\Category