public function ContryStateCityFormatter::viewElements in Country, State and City Fields 8
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/ ContryStateCityFormatter.php, line 108
Class
- ContryStateCityFormatter
- Plugin implementation of the 'contry_state_city_formatter' formatter.
Namespace
Drupal\country_state_city\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$elements = [];
foreach ($items as $delta => $item) {
$values = $item
->getValue();
$country = $this->entityTypeManager
->getStorage('countrylist')
->load($values['country']);
$state = $this->entityTypeManager
->getStorage('statelist')
->load($values['state']);
$city = $this->entityTypeManager
->getStorage('citylist')
->load($values['city']);
$elements[$delta] = [
'#markup' => $this
->viewValue($item),
'#theme' => 'country_state_city',
'#country' => !is_null($country) ? !empty($country
->hasTranslation($langcode)) ? $country
->getTranslation($langcode)
->getName() : $country
->getName() : '',
'#state' => !is_null($state) ? !empty($state
->hasTranslation($langcode)) ? $state
->getTranslation($langcode)
->getName() : $state
->getName() : '',
'#city' => !is_null($city) ? !empty($city
->hasTranslation($langcode)) ? $city
->getTranslation($langcode)
->getName() : $city
->getName() : '',
];
}
return $elements;
}