public function ListFieldThemer::getIcon in Geofield Map 8.2
Retrieve the icon for theming definition.
Parameters
array $datum: The geometry feature array definition.
\Drupal\geofield_map\Plugin\views\style\GeofieldGoogleMapViewStyle $geofieldMapView: The Geofield Map View dispaly object.
\Drupal\Core\Entity\EntityInterface $entity: The entity generating the datum.
mixed $map_theming_values: The Map themer mapping values.
Return value
mixed The icon definition.
Overrides ListFieldThemerUrl::getIcon
File
- src/
Plugin/ GeofieldMapThemer/ ListFieldThemer.php, line 219
Class
- ListFieldThemer
- Style plugin to render a View output as a Leaflet map.
Namespace
Drupal\geofield_map\Plugin\GeofieldMapThemerCode
public function getIcon(array $datum, GeofieldGoogleMapViewStyle $geofieldMapView, EntityInterface $entity, $map_theming_values) {
$list_field = isset($map_theming_values['list_field']) ? $map_theming_values['list_field'] : NULL;
$fallback_icon_style = isset($map_theming_values['fields'][$list_field]['options']['__default_value__']['image_style']) ? $map_theming_values['fields'][$list_field]['options']['__default_value__']['image_style'] : NULL;
$fallback_icon = isset($map_theming_values['fields'][$list_field]['options']['__default_value__']['icon_file']) ? $map_theming_values['fields'][$list_field]['options']['__default_value__']['icon_file']['fids'] : NULL;
$image_style = $fallback_icon_style;
$fid = $fallback_icon;
if (isset($entity->{$list_field})) {
$list_field_option = $entity->{$list_field}->value;
$image_style = isset($map_theming_values['fields'][$list_field]['options'][$list_field_option]['image_style']) ? $map_theming_values['fields'][$list_field]['options'][$list_field_option]['image_style'] : $fallback_icon_style;
$fid = isset($map_theming_values['fields'][$list_field]['options'][$list_field_option]['icon_file']) && !empty($map_theming_values['fields'][$list_field]['options'][$list_field_option]['icon_file']['fids']) ? $map_theming_values['fields'][$list_field]['options'][$list_field_option]['icon_file']['fids'] : $fallback_icon;
}
return $this->markerIcon
->getFileManagedUrl($fid, $image_style);
}