function _cms_content_sync_views_set_dynamic_entity_reference_field in CMS Content Sync 2.0.x
Same name and namespace in other branches
- 8 modules/cms_content_sync_views/cms_content_sync_views.module \_cms_content_sync_views_set_dynamic_entity_reference_field()
- 2.1.x modules/cms_content_sync_views/cms_content_sync_views.module \_cms_content_sync_views_set_dynamic_entity_reference_field()
Parameters
\Drupal\Core\Entity\EntityInterface $entity:
null|EntityInterface $reference:
Throws
\Drupal\Core\Entity\EntityStorageException
3 calls to _cms_content_sync_views_set_dynamic_entity_reference_field()
- cms_content_sync_views_entity_create in modules/
cms_content_sync_views/ cms_content_sync_views.module - Implements hook_entity_create().
- cms_content_sync_views_entity_insert in modules/
cms_content_sync_views/ cms_content_sync_views.module - Implements hook_entity_insert().
- cms_content_sync_views_entity_update in modules/
cms_content_sync_views/ cms_content_sync_views.module - Implements hook_entity_update().
File
- modules/
cms_content_sync_views/ cms_content_sync_views.module, line 37 - Module file for cms_content_sync_views.
Code
function _cms_content_sync_views_set_dynamic_entity_reference_field(EntityInterface $entity, $reference = NULL) {
// Set the referenced entity for the entity status entity.
if (is_null($entity
->get('entity')->target_id)) {
$entity_type = $entity
->get('entity_type')->value;
$uuid = $entity
->get('entity_uuid')->value;
/**
* @var \Drupal\Core\Entity\EntityInterface $synced_entity
*/
if (empty($reference)) {
$synced_entity = Drupal::service('entity.repository')
->loadEntityByUuid($entity_type, $uuid);
}
else {
$synced_entity = $reference;
}
if ($synced_entity instanceof ConfigEntityInterface) {
return;
}
if (!is_null($synced_entity)) {
$entity
->set('entity', $synced_entity);
// Save new reference.
$entity
->save();
}
}
}