dcs rating bundle

6
php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));" php composer.phar require damianociarla/rating-bundle new DCS\RatingBundle\DCSRatingBundle(), Année Universitaire : 2014-2015 Workshops Framework Symfony2 Workshop n°5 DCSRatingBundle : configuration et intégration Objectif Le but de ce workshop est de configurer et utiliser le bundle DCSRating qui permet de : - Ajouter une barre de vote à ne importe quelle page avec une seule ligne de code. - Lintégrer avec ne importe quel système de gestion de l'utilisateur (par exemple FOSUserBundle) - Définir des rôles différents pour l'accès au vote. Près requis Ce workshop est une suite du workshop FosUserBundle pour cela nous allons travailler sur le projet créer dans le workshop FosUserBundle. Installation Tout dabord, ouvrir la fenêtre de commande et placez-vous dans la racine du projet. Et copier la commande suivante : Une fois le fichier est récupéré, on lance le téléchargement du bundle depuis le terminal avec la commande suivante : Activer le bundle dans le noyau, en ajoutant ce bout de code dans le kernel :

Upload: amina-mahdhaoui

Post on 16-Sep-2015

52 views

Category:

Documents


14 download

TRANSCRIPT

  • php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

    php composer.phar require damianociarla/rating-bundle

    new DCS\RatingBundle\DCSRatingBundle(),

    Anne Universitaire : 2014-2015

    Workshops Framework Symfony2

    Workshop n5

    DCSRatingBundle : configuration et

    intgration

    Objectif

    Le but de ce workshop est de configurer et utiliser le bundle DCSRating qui permet de :

    - Ajouter une barre de vote ne importe quelle page avec une seule ligne de code.

    - Lintgrer avec ne importe quel systme de gestion de l'utilisateur (par exemple

    FOSUserBundle)

    - Dfinir des rles diffrents pour l'accs au vote.

    Prs requis

    Ce workshop est une suite du workshop FosUserBundle pour cela nous allons travailler sur le

    projet crer dans le workshop FosUserBundle.

    Installation

    Tout dabord, ouvrir la fentre de commande et placez-vous dans la racine du projet. Et copier

    la commande suivante :

    Une fois le fichier est rcupr, on lance le tlchargement du bundle depuis le terminal avec

    la commande suivante :

    Activer le bundle dans le noyau, en ajoutant ce bout de code dans le kernel :

  • dcs_rating:

    db_driver: orm

    base_path_to_redirect: / # when the permalink is not configured

    max_value: 5 # maximum value for the vote (stars displayed)

    model:

    rating: MyApp\UserBundle\Entity\Rating

    vote: MyApp\UserBundle\Entity\Vote

    dcs_rating:

    resource: "@DCSRatingBundle/Resources/config/routing.xml"

    prefix: /

    Configuration

    Placer ce code dans le fichier de configuration de votre projet : # app/config/config.yml

    Puis importez le routage du Bundle : # app/config/routing.yml

  • Ajout des entits Rating et Vote dans votre projet :

    Entit Rating : # src/ MyApp/UserBundle/Entity/Rating.php

  • Entit Vote : # src/ MyApp/UserBundle/Entity/Vote.php

  • EventDispatcherInterface $dispatcher

    Correction du Bundle :

    Avant de commencer la phase dintgration, nous devrons corriger quelques bugs dans le

    bundle.

    1- Faire les changements suivant dans VoteManager.php :

    # vendor\damianociarla\rating-bundle\DCS\RatingBundle\Entity\VoteManager.php

    Dans le constructeur de la classe remplacez EventDispatcher par EventDispatcherInterface

    2- Faire les mmes changements dans RatingManager.php :

    # vendor\damianociarla\rating-bundle\DCS\RatingBundle\Entity\RatingManager.php

    3- Faire les mmes changements dans VoteManager.php :

    # vendor\damianociarla\rating-bundle\DCS\RatingBundle\Model\VoteManager.php

    4- Faire les mmes changements dans RatingManager.php :

    # vendor\damianociarla\rating-bundle\DCS\RatingBundle\Model\ RatingManager.php

    use Symfony\Component\EventDispatcher\EventDispatcherInterface;

  • php app/console assets:install

    {% include 'DCSRatingBundle:Rating:rating.html.twig' with {'id' : 'YOUR_UNIQUE_ID'} %}

    {% include 'DCSRatingBundle:Rating:control.html.twig' with {'id' : 'YOUR_UNIQUE_ID'} %}

    {% include 'DCSRatingBundle:Rating:control.html.twig' with {'id' : 'YOUR_UNIQUE_ID', 'role' : 'ROLE_USER'} %}

    {% include 'DCSRatingBundle:Rating:control.html.twig' with {'id' : 'YOUR_UNIQUE_ID',

    'permalink' : url('YOUR_ROUTE_ID')} %}

    Intgration :

    Importez la feuille de style du bundle en excutant la commande suivante :

    Puis inclure la feuille de style dans notre template :

    #src\MyApp\UserBundle\Resources\views\layout.html.twig

    Maintenant nous pouvons afficher la note de chaque utilisateur par cette ligne de commande

    Pour permettre le vote sur une page, vous pouvez utiliser ce code :

    Si vous avez besoin de changer le rle de l'utilisateur par dfaut pour une page spcifique,

    ajoutez le paramtre de rle :

    Si vous avez besoin de changer le permalink, ajouter le paramtre parmalink :

    Remarque :

    Vous devez changer le paramtre YOUR_UNIQUE_ID par lid de llment que vous voulez

    lvaluer. Dans notre cas lID de lutilisateur.