Bonjour à tous,

Récent utilisateur de Symfony2, j'aimerai implémenter un bundle de newsletter dans mon projet (le bundle : IbrowsNewsLetterBundle).

N'étant pas à l'aise dans la configuration en général de symfony, j'avoue être complètement paumé pour ce bundle (même si j'ai déjà implémenté le bundle fixture auparavant ).

Ce que j'ai fait :

Précisons que mon projet est un bundle et qu'il utilise un autre bundle (user) que j'ai fait. Ces 2 bundles se trouve dans le même dossier root (.... src/myRoot/bundle1 ... src/myRoot/bundle2). Bon jusqu'ici rien extraordinaire (enfin j'espère ).

J'ai ensuite installé le bundle IbrowsNewsletterBundle comme explicité sur github/IbrowsNewsLetterBundle :

- je l'ai ajouté dans composer.json

- installé via composer (commande : php composer.phar update ibrows/newsletter-bundle ),

- et ajouté dans appKernel.php

Jusqu'ici encore rien d'extraordinaire (me semble t-il ^^ ), mais c'est ensuite que ça se complique :

Avant de continuer précisons que suite à l'installation j'ai maintenant un dossier : vendor/ibrows/newsletter-Bundle.
J'ai suivi à la lettre la configuration en remplaçant tout de même les 'yourBundle' par le nom de mon bundle (évidemment ), encore que je ne comprend pas bien :

dans 'ibrows_newsletter.yml', que mettre à la place 'yourBundle' ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
classes:
    # needed entities - see next step for creating them
    model:
      # most likely fos user
      user:         Ibrows\YourBundle\Entity\User
      # depends on the namespace you set at
      mandant:      Ibrows\YourBundle\Entity\Newsletter\Mandant
      newsletter:   Ibrows\YourBundle\Entity\Newsletter\Newsletter
      subscriber: ......
En effet dans la propriété user, il n'y a rien qui correspond à Ibrows\qqueChose\Entity\User, de même pour les lignes suivantes : ce n'est pas 'mon bundle' qu'il faut mettre mais bien 'NewsletterBundle' (à priori) car les fichiers existent bien dans ce namespace là.

Et pareil pour le fichier app/config/config.yml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
entity_managers:
            default:
                connection: default
                mappings:
                    YourBundle: ~
                    UserBundle: ~
                    # ...
            mandantA:
                connection: mandantA
                mappings:
                    ibrows_newsletter:
                        type: annotation
                        prefix: YourBundle\Entity\Newsletter
                        dir: "%kernel.root_dir%/../src/Ibrows/YourBundle/Entity/Newsletter"
                        is_bundle: false
            mandantB:
                connection: mandantB
....
Dans default/mapping j'aurais tendance à dire qu'il faut mettre :

monRootmonBundle (ou monBundle d'ailleurs ?) et,

monRootmonBundleUser (ou monBundleUser)

Ensuite pour les mandant, j'ai vu sur la doc symfony que le prefix se mettait ss la forme (dans mon cas) : myRoot\monBundle\Entity

Mais par contre pour la propriété 'dir', si je met le nom de mon bundle à la place de 'yourBundle', ça ne colle pas du tout !

Quoi qu'il en soit lorsque je veux créer la database ( php app/console doctrine:schema:create --em default ), j'ai le message d'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
[InvalidArgumentException]                                                           
  Specified non-existing directory "/home/moi/Documents/web_dev/private/Symfony/app/  
  ../src/Ibrows/Bundle/NewsletterBundle/Entity/Newsletter" as Doctrine mapping source  
  .
Je me dit que cela doit être dû au fait que l'entité n'est pas écrite mais encore une fois lorsqu'il donne le code de l'entité user, c'est précisé que ce fichier est dans " YourBundle\Entity\User" mais qu'est-ce qu'ils entendent par "yourbundle" ???

Je ne comprends pas non plus ce qu'est le paramètre dbal/type ou encore dbal/connections

Voilà je me rend compte que c'est assez laborieux tout ça mais j'espère quand même que des âme charitable vont m'aiguiller

Merci d'avance