public function BatOptionsPrice::viewElements in Booking and Availability Management Tools for Drupal 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
- modules/
bat_options/ src/ Plugin/ Field/ FieldFormatter/ BatOptionsPrice.php, line 27 - Contains \Drupal\bat_options\Plugin\Field\FieldFormatter\BatOptionsPrice.
Class
- BatOptionsPrice
- Plugin annotation @FieldFormatter( id = "bat_options_price", label = @Translation("Bat Options Price"), field_types = { "bat_options", } )
Namespace
Drupal\bat_options\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$element = [];
$currency_symbol = '$';
foreach ($items as $delta => $item) {
$price = t('@currency_symbol@amount', [
'@currency_symbol' => $currency_symbol,
'@amount' => number_format($item->value, 2, '.', ''),
]);
if ($item->value > 0) {
$element[$delta] = [
'#markup' => "{$item->quantity} x {$item->name} - {$price}",
];
}
else {
$element[$delta] = [
'#markup' => "{$item->quantity} x {$item->name}",
];
}
}
return $element;
}