public function StateProvinceIsoFormatter::viewElements in CiviCRM Entity 8.3
Builds a renderable array for a field value.
Parameters
\Drupal\Core\Field\FieldItemListInterface $items: The field values to be rendered.
string $langcode: The language that should be used to render the field.
Return value
array A renderable array for $items, as an array of child elements keyed by consecutive numeric indexes starting from 0.
Overrides FormatterInterface::viewElements
File
- src/
Plugin/ Field/ FieldFormatter/ StateProvinceIsoFormatter.php, line 65
Class
- StateProvinceIsoFormatter
- Plugin implementation of the 'civicrm_entity_state_province_iso_formatter' formatter.
Namespace
Drupal\civicrm_entity\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$elements = [];
foreach ($items as $delta => $item) {
$value = $item->value;
try {
$values = $this->civicrmApi
->get('StateProvince', [
'sequential' => 1,
'return' => [
'abbreviation',
],
'id' => $value,
]);
$value = $values[0]['abbreviation'];
} catch (\CiviCRM_API3_Exception $e) {
// Don't do anything.
}
$elements[$delta]['#markup'] = $value;
}
return $elements;
}