Contains \Drupal\field_test\Plugin\field\formatter\TestFieldMultipleFormatter.
<?php
/**
* @file
* Contains \Drupal\field_test\Plugin\field\formatter\TestFieldMultipleFormatter.
*/
namespace Drupal\field_test\Plugin\field\formatter;
use Drupal\field\Annotation\FieldFormatter;
use Drupal\Core\Annotation\Translation;
use Drupal\field\Plugin\Type\Formatter\FormatterBase;
use Drupal\Core\Entity\EntityInterface;
/**
* Plugin implementation of the 'field_test_multiple' formatter.
*
* @FieldFormatter(
* id = "field_test_multiple",
* module = "field_test",
* label = @Translation("Multiple"),
* description = @Translation("Multiple formatter"),
* field_types = {
* "test_field"
* },
* settings = {
* "test_formatter_setting_multiple" = "dummy test string"
* }
* )
*/
class TestFieldMultipleFormatter extends FormatterBase {
/**
* {@inheritdoc}
*/
public function settingsForm(array $form, array &$form_state) {
$element['test_formatter_setting_multiple'] = array(
'#title' => t('Setting'),
'#type' => 'textfield',
'#size' => 20,
'#default_value' => $this
->getSetting('test_formatter_setting_multiple'),
'#required' => TRUE,
);
return $element;
}
/**
* {@inheritdoc}
*/
public function settingsSummary() {
$summary = array();
$summary[] = t('@setting: @value', array(
'@setting' => 'test_formatter_setting_multiple',
'@value' => $this
->getSetting('test_formatter_setting_multiple'),
));
return $summary;
}
/**
* {@inheritdoc}
*/
public function viewElements(EntityInterface $entity, $langcode, array $items) {
$elements = array();
if (!empty($items)) {
$array = array();
foreach ($items as $delta => $item) {
$array[] = $delta . ':' . $item['value'];
}
$elements[0] = array(
'#markup' => $this
->getSetting('test_formatter_setting_multiple') . '|' . implode('|', $array),
);
}
return $elements;
}
}
Name | Description |
---|---|
TestFieldMultipleFormatter | Plugin implementation of the 'field_test_multiple' formatter. |