IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Besoin d'un ptit coup pouce sur FOSCommentBundle


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Besoin d'un ptit coup pouce sur FOSCommentBundle
    Bonjour,

    Cela ne fait pas longtemps que j'utilise Symfony,donc soyez indulgent svp.
    J'essaye depuis un petit moment d'installer un FOS(celui de FOSCommentBundle),mais je rencontre une certaine difficulté le faire marcher.
    Je m'explique : j'ai suivi ce tuto : https://github.com/FriendsOfSymfony/...s/doc/index.md ,mais une fois que je teste,j'ai un message d'erreur me disant : Class 'my_project\AppBundle\Entity\Thread' does not exist.

    (je ne sais pas si ça a un rapport,mais dans mon phpmyAdmin,il n'y a que la table"thread" qui apparait,et pas commentaire).

    Merci des éventuelles réponses .

    Cordialement,
    DrNoxus

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yooooooooooooooo maaaaaaaaaaaan rastaaaaaaaaa !!!!


    je ne sais pas si je vais être indulgent mmmmmm je me tâte ....


    le message est clair :
    Class 'my_project\AppBundle\Entity\Thread' does not exist.

    l'entité n'est pas trouvé et non la table thread dans la base de donnée.



    tu as bien ça: (bien sur, en adaptant Acme par ce que tu as)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    # app/config/config.yml
     
    fos_message:
        db_driver: orm
        thread_class: Acme\MessageBundle\Entity\Thread
        message_class: Acme\MessageBundle\Entity\Message


    c'est sur cette page
    https://github.com/FriendsOfSymfony/...-orm-models.md

    que tu as peut être zappé !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour, je l'ai deja installé et ça marche .
    Je partage mon code :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    <?php
    // src/MyProject/MyBundle/Entity/Comment.php
     
    namespace MyApp\ForumBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use FOS\CommentBundle\Entity\Comment as BaseComment;
    use FOS\CommentBundle\Model\SignedCommentInterface;
    use Symfony\Component\Security\Core\User\UserInterface;
    use FOS\CommentBundle\Model\VotableCommentInterface;
     
    /**
     * @ORM\Entity
     * @ORM\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
     * @ORM\Entity(repositoryClass="MyApp\ForumBundle\Repository\CommentRepository")
     */
    class Comment extends BaseComment  implements SignedCommentInterface, VotableCommentInterface
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * Thread of this comment
         *
         * @var Thread
         * @ORM\ManyToOne(targetEntity="MyApp\ForumBundle\Entity\Thread")
         */
        protected $thread;
     
        /**
         * Author of the comment
         *
         * @ORM\ManyToOne(targetEntity="MyApp\UserBundle\Entity\User")
         * @var User
         */
        protected $author;
     
        public function setAuthor(UserInterface $author)
        {
            $this->author = $author;
        }
     
        public function getAuthor()
        {
            return $this->author;
        }
     
        public function getAuthorName()
        {
            if (null === $this->getAuthor()) {
                return 'Anonymous';
            }
     
            return $this->getAuthor()->getUsername();
        }
           public function getAuthorPicture()
        {
            if (null === $this->getAuthor()) {
                return 'Anonymous';
            }
     
            return $this->getAuthor()->getImage();
        } 
        /**
         * @ORM\Column(type="integer")
         * @var int
         */
        protected $score = 0;
     
        /**
         * Sets the score of the comment.
         *
         * @param integer $score
         */
        public function setScore($score)
        {
            $this->score = $score;
        }
     
        /**
         * Returns the current score of the comment.
         *
         * @return integer
         */
        public function getScore()
        {
            return $this->score;
        }
     
        /**
         * Increments the comment score by the provided
         * value.
         *
         * @param integer value
         *
         * @return integer The new comment score
         */
        public function incrementScore($by = 1)
        {
            $this->score += $by;
        }
         /**
         * @ORM\ManyToOne(targetEntity="MyApp\ForumBundle\Entity\Sujet")
         * @ORM\JoinColumn(name="sujet_id", referencedColumnName="id",nullable=true)
         */
     
        protected $sujet;
        public function getSujet() {
            return $this->sujet;
        }
     
        public function setSujet($sujet) {
            $this->sujet = $sujet;
            return $this;
        }
     
     
    }
    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
    19
    20
    21
    22
    <?php
    // src/MyProject/MyBundle/Entity/Thread.php
     
    namespace MyApp\ForumBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use FOS\CommentBundle\Entity\Thread as BaseThread;
     
    /**
     * @ORM\Entity
     * @ORM\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
     */
    class Thread extends BaseThread
    {
        /**
         * @var string $id
         *
         * @ORM\Id
         * @ORM\Column(type="string")
         */
        protected $id;
    }
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php
     
    namespace MyApp\ForumBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use FOS\CommentBundle\Entity\Vote as BaseVote;
    use FOS\CommentBundle\Model\SignedVoteInterface;
    use Symfony\Component\Security\Core\User\UserInterface;
     
    /**
     * @ORM\Entity
     * @ORM\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
     */
    class Vote extends BaseVote implements SignedVoteInterface
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * Comment of this vote
         *
         * @var Comment
         * @ORM\ManyToOne(targetEntity="MyApp\ForumBundle\Entity\Comment")
         */
        protected $comment;
        /**
         * Author of the vote
         *
         * @ORM\ManyToOne(targetEntity="MyApp\UserBundle\Entity\User")
         * @var User
         */
        protected $voter;
     
        /**
         * Sets the owner of the vote
         *
         * @param string $user
         */
        public function setVoter(UserInterface $voter)
        {
            $this->voter = $voter;
        }
     
        /**
         * Gets the owner of the vote
         *
         * @return UserInterface
         */
        public function getVoter()
        {
            return $this->voter;
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # app/config/config.yml
     
    fos_comment:
        db_driver: orm
        class:
            model:
                comment: MyApp\ForumBundle\Entity\Comment
                thread: MyApp\ForumBundle\Entity\Thread
                vote: MyApp\ForumBundle\Entity\Vote
    assetic:
        bundles: [ "FOSCommentBundle" ]

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci de vos réponses

    Je pense avoir réussis a tout installer (en fait ça venait bien du fait que l'entity Commentaire n'existait pas et que je les avait pas mit dans la bdd -_-)
    ,mais la je tombe sur un problème de taille:

    J'arrive pas à utiliser l'affichage de la case de commentaires et de affichage des anciens commentaires.
    A vrai dire je ne sais pas comment faire.
    Dans mon index j'ai mis ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Hello !
    {% include 'FOSCommentBundle:Thread:async.html.twig' with {'id': 'foo'} %}
    Je sais c'est pas grand chose,mais j'ai beaucoup de mal a comprendre sa mise en place =/

    Merci des éventuelles réponses
    Cordialement,

    DrNoxus

  5. #5
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    il me semble qu'il y a pas mal de notion Symfony que tu n'as pas bien assimilé.


    (1)
    Comme tu le sais Symfony est un framework MVC.

    le bundle fosMessageBundle comprends :
    des (M)odèles
    des (V)ues
    des (C)ontroleur


    donc tout le necessaire pour faire fonctionner le système de message.


    (2)
    dans la configuration que tu as du faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    # app/config/routing.yml
     
    # ...
    fos_message:
        resource: "@FOSMessageBundle/Resources/config/routing.xml"
        prefix: /optional_routing_prefix
    # ...

    tout ça pour indiquer que tu va utiliser le routing par defaut qui est configurer dans messageBundle/
    ce routing va te permettre d'acceder aux pages de lecture, ecriture etc... des messages


    pour te rendre compte tu peux aller examiner le fichier routing.xml qui se trouve dans le vendor :FOSMessageBundle/Resources/config/routing.xml


    (3) pour acceder aux pages tu va faire un truc du genre comme URL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monsite/app_dep.php/optional_routing_prefix/thread             // j'ai mis "thread" au hasard, il faut voir la bonne orthographe dans /routing.xml
    bien entendu, dans twig tu peux faire un lien qui pointe vers thread en utilisant path
    href='{{ path("...................") }}'


    (4)
    tu peux personnaliser les pages, les actions, les URL etc... tout comme tu veux

    mais ceci est une autre histoire



    (5) si ça fais pas longtemps que tu utilises Symfony, va falloir plancher sur les divers tutos pour bien maîtriser les notions de bases avant de te lancer ......

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci de ta réponse

    Pour l'instant ce qui me bloque,c'est l'utilisation du FOS dans mon index :
    je ne sais pas quoi mettre pour que l'interface des commentaires apparaissent.

    Une autre question me taraude,elle va peut être être bête mais en soit,a quoi sert le Thread?

    Cordialement,

    DrNoxus

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    pour que tes commentaires apparaissent avec linput text associé tu dois ajouter aussi le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    si ton pc n'est pas connecté a internet telecharge le fichier js mais le .
    Je sais que c'est bidon mais j'avais le meme probleme depuis quelques mois .

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Coucou,
    Merci des réponses !

    mehrezlabidimehrez j'essaye de faire comme tu m'as dis,mais je sais pas trop où placer le script

    J'ai fait ca :
    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
    19
    20
    21
    22
    23
    24
     
     
    {% block body %}
     
     {% include 'FOSCommentBundle:Thread:async.html.twig' with {'id': 'foo'} %}
      {# On définit ce block, dans lequel vont venir s'insérer les autres vues du bundle #}
    Hello je suis un test!
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js">
     var fos_comment_thread_id = 'abc';
     
    // api base url to use for initial requests
    var fos_comment_thread_api_base_url = '/Symfony/MyBundle/web/app_dev.php/api/threads';
     
    // Snippet for asynchronously loading the comments
    (function() {
        var fos_comment_script = document.createElement('script');
        fos_comment_script.async = true;
        fos_comment_script.src = '/Symfony/MyBundle/web/app_dev.php/js/35a8e64_comments_1.js';
        fos_comment_script.type = 'text/javascript';
     
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(fos_comment_script);
    })();
    </script>
    {% endblock %}
    Mais rien ne s'affiche si ce n'est le "Hello je suis un test!"

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    mets juste ça dans ta vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    {% block body %}
      <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js">
     {% include 'FOSCommentBundle:Thread:async.html.twig' with {'id': 'foo'} %}
     
    Hello je suis un test!
     
     
    {% endblock %}
    si ça marche pas ,fais nous un copier-coller de se que tu vois apres un Ctrl+U

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Ca m affiche toujours juste hello je suis un test

    Nom : projet.png
Affichages : 877
Taille : 56,8 Ko

  11. #11
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yooooooooooooooooo maaaaaaaaaan,
    prends quelques teufff ça va te détendre yooooooooooooooooooooooooooooo

    je ne sais pas ce que vous faite avec vos ASYNC et javascript et je ne sais pas quoi.....

    la moindre des choses quand on ne connais pas est de tester le plus simplement possible avant de te lancer dans des choses plus avancés.

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    C'est à dire?

  13. #13
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    cad que tu n'as pas besoin de javascript , de snippet , d'aSync et tout le bordel que je vois là.

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Je fais comment du coup?

  15. #15
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    Si tu veux apprendre Symfony, c'est par ici :

    toute la doc officielle :
    http://symfony.com/doc/current/index.html

  16. #16
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Bonjour DrNoxus !
    le code javaScript genere est bien normal car le bundle en a besoin et c'est d'ailleurs dit dans sa documentaion donc c'est n'est pas que tu ne comprends pas encore bien Symfony2 d'ailleurs moi meme suis dans la meme situation que toi, et meme beaucoup d'autres personne sur d'autres forum.
    le bundle est pauvre en documentation quoi qu'il semble bien construit

Discussions similaires

  1. Besoin d'un coup de pouce sur une règle SWRL
    Par jaqcuichanne dans le forum Ontologies
    Réponses: 0
    Dernier message: 29/04/2014, 11h12
  2. Besoin d'un petit coup de pouce sur Acces pour une ONG
    Par Dje49 dans le forum Modélisation
    Réponses: 1
    Dernier message: 28/09/2013, 23h30
  3. un coup de pouce sur "LinkMasterFields"
    Par RGShoop dans le forum Access
    Réponses: 2
    Dernier message: 03/05/2006, 13h57
  4. Coup de pouce sur expression reguliere
    Par calimero642 dans le forum Langage
    Réponses: 9
    Dernier message: 17/03/2006, 12h36
  5. besoin d'un ptit coup de pouce
    Par mickyoun dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2004, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo