Star Rating Bundle for Symfony 5.... Requires Jquery and Font Awesome.
If Using Symfony 2. Use version 1.*
Using Composer
Add the following to the "require" section of your composer.json
file:
"repositories": [
{
"url": "https://github.com/dirkjf/StarRatingBundle",
"type": "git"
}
],
"require": {
"dirkjf/star-rating-bundle": "^3.0",
}
paths:
'%kernel.project_dir%/vendor/dirkjf/star-rating-bundle/blackknight467/StarRatingBundle/Resources/views': StarRatingBundle
Add the css in your page head
<link rel="stylesheet" type="text/css" href="{{ asset('bundles/starrating/css/rating.css') }}" />
or
{% stylesheets
'bundles/starrating/css/rating.css'
filter="cssrewrite" %}
<link href="{{ asset_url }}" rel="stylesheet" type="text/css" />
{% endstylesheets %}
Add the javascript to your page head
<!-- make sure that jquery is included --!>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="{{ asset('bundles/starrating/js/rating.js') }}"></script>
or
<!-- make sure that jquery is included --!>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
{% javascripts
'@StarRatingBundle/Resources/public/js/rating.js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
<?php
// ...
$builder->add('rating', RatingType::class, [
'label' => 'Rating'
]);
// ...
or for a custom rating scale:
<?php
// ...
$builder->add('rating', RatingType::class, [
//...
'stars' => 4,
//...
]);
// ...
// ...
{{ someInteger|rating }}
// ...
or if you are not using a 5 star scale
{{ someInteger|rating(4) }}
if you want to use the font awesome icon sizes
{{ someInteger|rating(5, "fa-3x") }}
If you want the smallest size use "fa-norm" (in font awesome, this would be the same as not providing an size class); providing no size argument sets the font size to 25px which is somewhere in between "fa-lg" and "fa-2x". To customize the size, feel free to override the css.
This bundle is under the MIT license. See the complete license in the bundle: LICENSE