public function AttachMediaToGroup::getMediaFromEntity in Group Media 8.2
Gets media items from give entity.
Media items are collected with media finder plugins.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: Entity object to search media items in.
Return value
\Drupal\media\MediaInterface[]|array List of media items found for given entity.
1 call to AttachMediaToGroup::getMediaFromEntity()
- AttachMediaToGroup::attach in src/
AttachMediaToGroup.php - Attach media items from given entity to the same group(s).
File
- src/
AttachMediaToGroup.php, line 204
Class
- AttachMediaToGroup
- Class AttachMediaToGroup.
Namespace
Drupal\groupmediaCode
public function getMediaFromEntity(EntityInterface $entity) {
$items = [];
foreach ($this->mediaFinder
->getDefinitions() as $plugin_id => $definition) {
/** @var \Drupal\groupmedia\MediaFinderInterface $pluginInstance */
$pluginInstance = $this->mediaFinder
->createInstance($plugin_id);
if ($pluginInstance && $pluginInstance
->applies($entity)) {
$found_items = $pluginInstance
->process($entity);
$items = array_merge($items, $found_items);
if ($entity instanceof GroupContentInterface) {
$childEntity = $entity
->getEntity();
$found_items = $pluginInstance
->process($childEntity);
$items = array_merge($items, $found_items);
}
}
}
return $items;
}