2017 © Pedro Peláez
 

library rating-bundle

Provides star rating functionality for Symfony3

image

oachoor/rating-bundle

Provides star rating functionality for Symfony3

  • Monday, June 4, 2018
  • by oachoor
  • Repository
  • 1 Watchers
  • 0 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

RatingBundle :star:

This Symfony bundle provides integration of a star rating system., (*1)

Requirements

  • PHP 7.2+
  • MySQL 5.7.20+
  • Symfony 4.3+

:package: Installation

Install bundle with Composer dependency manager first by running the command:, (*2)

$ composer req oachoor/rating-bundle, (*3)

Add routes

``` yaml oa_rating: resource: '@RatingBundle/Controller' type: annotation, (*4)


### (Optional) Create your own Entities Entities doesn't fully meet your requirements?, then you can create yours based on [Rating](Entity/Rating.php) and [Vote](Entity/Vote.php). ### Resolve abstract Entities with RatingBundle or your custom ones ``` yaml doctrine: orm: resolve_target_entities: RatingBundle\Model\AbstractVote: RatingBundle\Entity\Vote or AcmeRatingBundle\Entity\Vote RatingBundle\Model\AbstractRating: RatingBundle\Entity\Rating or AcmeRatingBundle\Entity\Rating Symfony\Component\Security\Core\User\UserInterface: RatingBundle\Entity\User or AcmeRatingBundle\Entity\User

Define mapping Bundle

Make sure you have registered the Bundle that holds the Entities as following:, (*5)

``` yaml doctrine: orm: entity_managers: default: mappings: RatingBundle: ~ or AcmeRatingBundle: ~, (*6)


### Update database schema ``` bash $ bin/console doctrine:schema:update --force --no-debug

Using voting strategy

There are two strategies for rating, based on IP addresses or cookies. (both? feel free to contribute), (*7)

``` yaml oa_rating: strategy: cookie (default "ip") cookie_name: your_custom_name cookie_lifetime: '+1 year', (*8)


### Templates customization Templates can be overridden in the `<your-project>/templates/bundles/RatingBundle/` directory, the new templates must use the same name and path (relative to `RatingBundle/Resources/views/`) as the original templates. To override the `Resources/views/rating/view.html.twig` template, create this template: `<your-project>/templates/bundles/RatingBundle/rating/view.html.twig` ### Usage To see rating result for a Content (read-only mode), use the following twig code: ``` twig {{ render( controller( 'RatingBundle:Rating:result', {'contentId': yourContentId} ) ) }}

Rating is based on Content, to enable voting for a Content use the following twig code:, (*9)

twig {{ render( controller( 'RatingBundle:Rating:vote', {'contentId': yourContentId} ) ) }}, (*10)

Example

A minimal Template that contains rating-call, javascripts and stylesheets., (*11)

Todos

  • [ ] Make User dependencies optional.
  • [ ] Write some Unit Tests.
  • [ ] Add Fixtures.

The Versions

04/06 2018

dev-master

9999999-dev https://github.com/oachoor/RatingBundle

Provides star rating functionality for Symfony3

  Sources   Download

MIT

The Requires

 

by Omar Achoor

bundle rating voting star