function _layout_builder_bundle_has_no_translations
Determines if there are zero translations for the bundle.
Parameters
string $entity_type_id: The entity type ID.
string $bundle: The bundle name.
Return value
bool TRUE if there are zero translations for the bundle, otherwise FALSE.
1 call to _layout_builder_bundle_has_no_translations()
- layout_builder_post_update_make_layout_untranslatable in core/
modules/ layout_builder/ layout_builder.post_update.php - Set the layout builder field as non-translatable where possible.
File
-
core/
modules/ layout_builder/ layout_builder.post_update.php, line 284
Code
function _layout_builder_bundle_has_no_translations($entity_type_id, $bundle) {
$entity_update_manager = \Drupal::entityDefinitionUpdateManager();
$entity_type = $entity_update_manager->getEntityType($entity_type_id);
if (!$entity_type->isTranslatable()) {
return TRUE;
}
$query = \Drupal::entityTypeManager()->getStorage($entity_type_id)
->getQuery();
$bundle_key = $entity_type->getKey('bundle');
if ($entity_type->hasKey('default_langcode')) {
if ($bundle_key) {
$query->condition($bundle_key, $bundle);
}
if ($entity_type->isRevisionable()) {
$query->allRevisions();
}
$query->condition($entity_type->getKey('default_langcode'), 0)
->accessCheck(FALSE)
->range(0, 1);
$results = $query->execute();
return empty($results);
}
// A translatable entity type should always have a default_langcode key. If it
// doesn't we have no way to determine if there are translations.
return FALSE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.