- Issue created by @vistree
- 🇩🇪Germany vistree
I changed the hook a little bit and use library opener now:
/** * Implements hook_media_insert(). * * @throws \Drupal\Core\Entity\EntityStorageException */ function mymodule_media_insert(MediaInterface $media) { $mid = $media->id(); $mediaType = $media->bundle(); $mediaRelationType = 'cockpit_va-group_media-' . $mediaType; $request = \Drupal::request(); $query_params = $request->query->all(); if (!empty($query_params["media_library_opener_parameters"]["entity_type_id"]) && $query_params["media_library_opener_parameters"]["entity_type_id"] == 'node' && !empty($query_params['media_library_opener_parameters']['entity_id'])) { $nid = $query_params['media_library_opener_parameters']['entity_id']; // Bestehende Beziehungen zur Node finden $relationships = \Drupal::entityTypeManager() ->getStorage('group_relationship') ->loadByProperties([ 'entity_id' => $nid, 'type' => 'cockpit_va-70ca4d242eb34a0c55e94', ]); foreach ($relationships as $relationship) { $group = $relationship->getGroup(); // Prüfen, ob Media bereits verbunden ist $existing = \Drupal::entityTypeManager() ->getStorage('group_relationship') ->loadByProperties([ 'type' => $mediaRelationType, // z. B. 'group_media' 'entity_id' => $mid, 'gid' => $group->id(), ]); if (empty($existing)) { // Media zur Gruppe hinzufügen $new_relationship = GroupRelationship::create([ 'type' => $mediaRelationType, // <- den richtigen Typnamen verwenden! 'gid' => $group->id(), 'entity_type' => 'media', 'entity_id' => $mid, ]); $new_relationship->save(); } } } }
- 🇧🇪Belgium msnassar
Hello @vistree
This module will help fixing your issue https://www.drupal.org/project/group_media_library →
- 🇩🇪Germany vistree
Thanx @msnassar,
but the referrenced module seems to be alpha and last version is from 2023 ... Also, it seems to depend on an other alpha module (group_finder). Are those modules stable enough to be used on production? - 🇧🇪Belgium msnassar
Yes, I would say they are stable enough to be used on production.
I am planning to do some small improvements/fixes, adding tests, and support D11. But unfortunately I do not have the time right now.