Plugin implementation of the 'paragraph_summary' formatter.
@FieldFormatter(
id = "paragraph_summary",
label = @Translation("Paragraph summary"),
field_types = {
"entity_reference_revisions"
}
)
Expanded class hierarchy of ParagraphsSummaryFormatter
class ParagraphsSummaryFormatter extends EntityReferenceFormatterBase {
/**
* {@inheritdoc}
*/
public function viewElements(FieldItemListInterface $items, $langcode) {
$elements = [];
foreach ($this
->getEntitiesToView($items, $langcode) as $delta => $entity) {
if ($entity
->id()) {
$elements[$delta] = [
'#type' => 'container',
'#attributes' => [
'class' => [
'paragraph-formatter',
],
],
];
$elements[$delta]['info'] = [
'#type' => 'container',
'#attributes' => [
'class' => [
'paragraph-info',
],
],
];
$elements[$delta]['info'] += $entity
->getIcons();
$elements[$delta]['summary'] = [
'#type' => 'container',
'#attributes' => [
'class' => [
'paragraph-summary',
],
],
];
$elements[$delta]['summary']['description'] = [
'#theme' => 'paragraphs_summary',
'#summary' => $entity
->getSummaryItems(),
];
}
}
if ($elements) {
$elements['#attached']['library'][] = 'paragraphs/drupal.paragraphs.formatter';
}
return $elements;
}
/**
* {@inheritdoc}
*/
public static function isApplicable(FieldDefinitionInterface $field_definition) {
$target_type = $field_definition
->getSetting('target_type');
$paragraph_type = \Drupal::entityTypeManager()
->getDefinition($target_type);
if ($paragraph_type) {
return $paragraph_type
->entityClassImplements(ParagraphInterface::class);
}
return FALSE;
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ParagraphsSummaryFormatter:: |
public static | function | 1 | |
ParagraphsSummaryFormatter:: |
public | function | 1 |