protected function WebformEntityReferenceTrait::formatTextItem in Webform 8.5
Same name and namespace in other branches
- 6.x src/Plugin/WebformElement/WebformEntityReferenceTrait.php \Drupal\webform\Plugin\WebformElement\WebformEntityReferenceTrait::formatTextItem()
1 call to WebformEntityReferenceTrait::formatTextItem()
- WebformEntityReferenceTrait::formatHtmlItem in src/
Plugin/ WebformElement/ WebformEntityReferenceTrait.php
File
- src/
Plugin/ WebformElement/ WebformEntityReferenceTrait.php, line 99
Class
- WebformEntityReferenceTrait
- Provides an 'entity_reference' trait.
Namespace
Drupal\webform\Plugin\WebformElementCode
protected function formatTextItem(array $element, WebformSubmissionInterface $webform_submission, array $options = []) {
$entity = $this
->getTargetEntity($element, $webform_submission, $options);
if (!$entity) {
return '';
}
$format = $this
->getItemFormat($element);
switch ($format) {
case 'id':
return $entity
->id();
case 'breadcrumb':
if ($entity
->getEntityTypeId() === 'taxonomy_term') {
/** @var \Drupal\taxonomy\TermStorageInterface $taxonomy_storage */
$taxonomy_storage = \Drupal::entityTypeManager()
->getStorage('taxonomy_term');
$parents = $taxonomy_storage
->loadAllParents($entity
->id());
$breadcrumb = [];
foreach ($parents as $parent) {
$breadcrumb[] = $parent
->label();
}
$element += [
'#delimiter' => ' › ',
];
return implode($element['#delimiter'], array_reverse($breadcrumb));
}
return $entity
->label();
case 'label':
return $entity
->label();
case 'raw':
$entity_id = $entity
->id();
$entity_type = $entity
->getEntityTypeId();
return "{$entity_type}:{$entity_id}";
case 'text':
default:
return sprintf('%s (%s)', $entity
->label(), $entity
->id());
}
}