public function StarRatingFormatter::formatterExecute in Star Rating 8.2
Same name and namespace in other branches
- 8 src/Plugin/Field/FieldFormatter/StarRatingFormatter.php \Drupal\starrating\Plugin\Field\FieldFormatter\StarRatingFormatter::formatterExecute()
- 8.3 src/Plugin/Field/FieldFormatter/StarRatingFormatter.php \Drupal\starrating\Plugin\Field\FieldFormatter\StarRatingFormatter::formatterExecute()
2 calls to StarRatingFormatter::formatterExecute()
- StarRatingFormatter::settingsSummary in src/
Plugin/ Field/ FieldFormatter/ StarRatingFormatter.php - Returns a short summary for the current formatter settings.
- StarRatingFormatter::viewElements in src/
Plugin/ Field/ FieldFormatter/ StarRatingFormatter.php - Builds a renderable array for a field value.
File
- src/
Plugin/ Field/ FieldFormatter/ StarRatingFormatter.php, line 124
Class
- StarRatingFormatter
- Plugin implementation of the 'Starrating' formatter.
Namespace
Drupal\starrating\Plugin\Field\FieldFormatterCode
public function formatterExecute($rate, $min, $max, $icon_type, $icon_color, $fill_blank) {
// Add hidden text to support copy/paste and voice reading
// $out = '<span style="position:absolute;left:-9999px">' . $rate . '</span>';.
$out = "<div class='starrating'>";
for ($i = $min; $i < $max; $i++) {
if ($i == $rate && !$fill_blank) {
break;
}
if ($i >= $rate) {
$class = $icon_type . '-off';
}
else {
$class = $icon_type . $icon_color . '-on';
}
if ($i % 2) {
$class .= ' odd';
}
else {
$class .= ' even';
}
$class .= ' s' . ($i + 1);
$out .= '<div class="rate-image ' . $class . '"></div>';
}
$out .= "</div>";
return $out;
}