abstract class ExtraFieldDisplayFormattedBase in Extra Field 8.2
Same name and namespace in other branches
- 8 src/Plugin/ExtraFieldDisplayFormattedBase.php \Drupal\extra_field\Plugin\ExtraFieldDisplayFormattedBase
Base class for Extra field Display plugins with field wrapper output.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\extra_field\Plugin\ExtraFieldDisplayBase implements ExtraFieldDisplayInterface
- class \Drupal\extra_field\Plugin\ExtraFieldDisplayFormattedBase implements ExtraFieldDisplayFormattedInterface
- class \Drupal\extra_field\Plugin\ExtraFieldDisplayBase implements ExtraFieldDisplayInterface
Expanded class hierarchy of ExtraFieldDisplayFormattedBase
6 files declare their use of ExtraFieldDisplayFormattedBase
- EmptyFormattedFieldTest.php in tests/
extra_field_test/ src/ Plugin/ ExtraField/ Display/ EmptyFormattedFieldTest.php - ExampleFormattedField.php in modules/
extra_field_example/ src/ Plugin/ ExtraField/ Display/ ExampleFormattedField.php - ExampleMultilingualField.php in modules/
extra_field_example/ src/ Plugin/ ExtraField/ Display/ ExampleMultilingualField.php - MultipleItemsFieldTest.php in tests/
extra_field_test/ src/ Plugin/ ExtraField/ Display/ MultipleItemsFieldTest.php - MultipleItemsFieldWithCacheDependencyTest.php in tests/
extra_field_test/ src/ Plugin/ ExtraField/ Display/ MultipleItemsFieldWithCacheDependencyTest.php
File
- src/
Plugin/ ExtraFieldDisplayFormattedBase.php, line 12
Namespace
Drupal\extra_field\PluginView source
abstract class ExtraFieldDisplayFormattedBase extends ExtraFieldDisplayBase implements ExtraFieldDisplayFormattedInterface {
/**
* Flag to indicate that the extra field has no content.
*
* Set this flag when the render elements returned by ::viewElements only
* contains non-visible render data such as #cache or #attached but does not
* contain actual renderable data such as #markup, #theme or #item.
*
* When this flag is set, the render elements will not be wrapped in a field
* wrapper.
*
* @var bool
*/
protected $isEmpty = FALSE;
/**
* The langcode of the field values.
*
* @var string
*/
protected $langcode = LanguageInterface::LANGCODE_NOT_SPECIFIED;
/**
* The language manager.
*
* @var \Drupal\Core\Language\LanguageManagerInterface
*/
protected $languageManager;
/**
* {@inheritdoc}
*/
public function view(ContentEntityInterface $entity) {
$elements = $this
->viewElements($entity);
if (!empty($elements) && !$this
->isEmpty()) {
// Construct a render array for the extra field elements.
// @see \Drupal\Core\Field\FormatterBase::view
$build = [
'#theme' => 'field',
'#title' => $this
->getLabel(),
'#label_display' => $this
->getLabelDisplay(),
// Prevent quickedit from editing this field by using a special view
// mode.
// @see quickedit_preprocess_field()
'#view_mode' => '_custom',
'#language' => $this
->getLangcode(),
'#field_name' => $this
->getFieldName(),
'#field_type' => $this
->getFieldType(),
'#field_translatable' => $this
->isTranslatable(),
'#entity_type' => $entity
->getEntityTypeId(),
'#bundle' => $entity
->bundle(),
'#object' => $entity,
'#formatter' => $this
->getPluginId(),
];
if ($children = Element::children($elements, TRUE)) {
$build['#is_multiple'] = TRUE;
$build['#cache'] = !empty($elements['#cache']) ? $elements['#cache'] : [];
// Without #children the field will not show up.
$build['#children'] = '';
foreach ($children as $key) {
// Only keys in "#items" property are required in
// template_preprocess_field().
$build['#items'][$key] = new \stdClass();
$build[$key] = $elements[$key];
}
}
else {
$build['#is_multiple'] = FALSE;
// Only keys in "#items" property are required in
// template_preprocess_field().
$build['#items'][] = new \stdClass();
$build[] = $elements;
}
}
else {
$build = $elements;
}
return $build;
}
/**
* {@inheritdoc}
*/
public function getLabel() {
return '';
}
/**
* {@inheritdoc}
*/
public function getLabelDisplay() {
return 'hidden';
}
/**
* {@inheritdoc}
*/
public function getFieldType() {
return 'extra_field';
}
/**
* {@inheritdoc}
*/
public function getFieldName() {
return 'extra_field_' . $this->pluginId;
}
/**
* {@inheritdoc}
*/
public function isEmpty() {
return $this->isEmpty;
}
/**
* Set the language code.
*
* TODO Add this to the interface in the 3.0.0 release.
*/
public function setLangcode($langcode) {
$this->langcode = $langcode;
}
/**
* {@inheritdoc}
*/
public function getLangcode() {
return $this->langcode;
}
/**
* {@inheritdoc}
*/
public function isTranslatable() {
return FALSE;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ExtraFieldDisplayBase:: |
protected | property | The field's parent entity. | |
ExtraFieldDisplayBase:: |
protected | property | The entity view display. | |
ExtraFieldDisplayBase:: |
protected | property | The view mode the entity is rendered in. | |
ExtraFieldDisplayBase:: |
public | function |
Returns the field's parent entity. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayBase:: |
public | function |
Returns the entity view display object of the field's host entity. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayBase:: |
public | function |
Returns the entity view mode object of the field's host entity. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayBase:: |
public | function |
Stores the field's parent entity. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayBase:: |
public | function |
Stores the entity view display. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayBase:: |
public | function |
Stores the entity view mode. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayFormattedBase:: |
protected | property | Flag to indicate that the extra field has no content. | |
ExtraFieldDisplayFormattedBase:: |
protected | property | The langcode of the field values. | |
ExtraFieldDisplayFormattedBase:: |
protected | property | The language manager. | |
ExtraFieldDisplayFormattedBase:: |
public | function |
The machine name of the field. Overrides ExtraFieldDisplayFormattedInterface:: |
1 |
ExtraFieldDisplayFormattedBase:: |
public | function |
The type of field. Overrides ExtraFieldDisplayFormattedInterface:: |
1 |
ExtraFieldDisplayFormattedBase:: |
public | function |
The label of the field. Overrides ExtraFieldDisplayFormattedInterface:: |
5 |
ExtraFieldDisplayFormattedBase:: |
public | function |
How to display the field label will be displayed. Overrides ExtraFieldDisplayFormattedInterface:: |
5 |
ExtraFieldDisplayFormattedBase:: |
public | function |
Gets the langcode of the field values. Overrides ExtraFieldDisplayFormattedInterface:: |
1 |
ExtraFieldDisplayFormattedBase:: |
public | function |
Check if the extra field has data. Overrides ExtraFieldDisplayFormattedInterface:: |
|
ExtraFieldDisplayFormattedBase:: |
public | function |
The field is translatable. Overrides ExtraFieldDisplayFormattedInterface:: |
1 |
ExtraFieldDisplayFormattedBase:: |
public | function | Set the language code. | |
ExtraFieldDisplayFormattedBase:: |
public | function |
Builds a renderable array for the field. Overrides ExtraFieldDisplayInterface:: |
|
ExtraFieldDisplayFormattedInterface:: |
public | function | Returns the renderable array of the field item(s). | 6 |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |