hypejunction / elgg_stars
Star rating for Elgg
Installs: 194
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 3
Type:elgg-plugin
Requires
- php: >=5.4
- composer/installers: 1.*
This package is auto-updated.
Last update: 2024-11-29 04:52:15 UTC
README
Star rating for Elgg
Usage
Adding a rating form
-
First, either define your rating criteria using the plugin setting, or by calling
elgg_stars_register_rating_annotation_name($criteria1);
for each rating criteria you are intending to use. -
Add a form to rate an existing entity:
echo elgg_view_form('stars/rate', array(), array(
'entity' => $entity,
'annotation_names' => array($criteria1, $criteria2)
));
This will display a form with 2 star rating modules. User input will be processed in real time. No need for any further coding on your side.
Adding a static star input to a form
To add a star input to your form, simple call:
echo elgg_view('input/stars', array(
'name' => 'stars'
));
In your action, you would then use standard Elgg API:
$stars = get_input('stars');
See input/stars
for a list of additional parameters, including minimum
and maximum values;
Getting rating values
To get a value for a single or multiple criteria, you can call
$ratings = elgg_stars_get_entity_rating_values($entity, array($criteria1, $criteria2);
You can leave the second parameter empty, to get a total value for all registered rating criteria.
Note that this function will return an associative array, where:
$ratings['value']
is an actual average value of all ratings.
Ratings are not weighed, so if you are planning to use multiple rating scales,
you need to add your own weighing algorithms.
Displaying star ratings without user input
To display any value on a star rating scale:
echo elgg_view('output/stars', array(
'value' => $my_value
));
You can also specify, 'min', 'max', and 'step' parameters to configure the scale.
Credits / Acknowledgements
RateIt - a jQuery star rating plugin http://rateit.codeplex.com/
Fast, Progressive enhancement, touch support, customizable (just swap out the images, or change some CSS), Unobtrusive JavaScript (using HTML5 data-* attributes), RTL support, ARIA & keyboard support. Use as many stars as you'd like, and also any step size.
Notes
- This is a framework-agnostic adaptation of discontinued hypeStarRating