ccc/star-rating-bundle
Symfony bundle integrating Fyneworks jQuery Star Rating: provides a star_rating FormType and Twig helpers to render ratings as radio inputs with CSS/JS assets. Install via Composer, register the bundle, include rating.css and jquery.rating.js, then use in forms.
Form type and Twig filter for FyneWorks' super fine jQuery Star Rating Plugin.
This is the easiest way to ensure that you have the Star Rating Plugin installed. Add a repository to
composer.json:
"repositories": [
{
"type": "package",
"package": {
"name": "fyneworks/star-rating",
"version": "4.11.0",
"source": {
"type": "git",
"url": "https://github.com/fyneworks/star-rating",
"reference": "4.11.0"
}
}
}
]
"require": {
"fyneworks/star-rating": "4.11.0",
"nurikabe/star-rating-bundle": "~2.0.1",
...
}
public function registerBundles()
{
$bundles = array(
// ...
new Nurikabe\StarRatingBundle\NurikabeStarRatingBundle(),
// ...
);
$ php composer.phar update nurikabe/star-rating-bundle
If you define a repository for fyneworks/star-rating as per the above then installing nurikabe/star-rating-bundle
should also install the fyneworks/star-rating dependency.
Load the Star Rating plugin in your layout. For example, if you are using Assetic and you have installed Star Rating via Composer as per above:
{% stylesheets '@NurikabeStarRatingBundle/Resources/rating.css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% javascripts '%kernel.root_dir%/../vendor/fyneworks/star-rating/jquery.rating.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
Of course, remember to dump your assets if use_controller is off:
$ app/console assetic:dump
This bundle contains a new FormType star_rating field type:
$builder->add('rating', 'star_rating', array(
'choices' => array(1 => 'ichi', 2 => 'ni', 3 => 'san', 4=> 'shi', 5 => 'go'),
'expanded' => true, // radio or checkbox...
'multiple' => false // ...but not checkbox
));
star_rating extends choice and will render expanded choice fields as a Star Rating field.
Original choice field:

As a star_rating field:

A Twig filter is also available that will render a static Star Rating widget given a numeric input:
{{ entity.rating|star_rating }}
How can I help you explore Laravel packages today?