protected function EntityConverter::getLatestTranslationAffectedRevision in Drupal 8
Returns the latest revision translation of the specified entity.
Parameters
\Drupal\Core\Entity\RevisionableInterface $entity: The default revision of the entity being converted.
string $langcode: The language of the revision translation to be loaded.
Return value
\Drupal\Core\Entity\RevisionableInterface The latest translation-affecting revision for the specified entity, or just the latest revision, if the specified entity is not translatable or does not have a matching translation yet.
Deprecated
in drupal:8.7.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityRepositoryInterface::getActive() instead.
File
- core/
lib/ Drupal/ Core/ ParamConverter/ EntityConverter.php, line 170
Class
- EntityConverter
- Parameter converter for upcasting entity IDs to full objects.
Namespace
Drupal\Core\ParamConverterCode
protected function getLatestTranslationAffectedRevision(RevisionableInterface $entity, $langcode) {
@trigger_error('\\Drupal\\Core\\ParamConverter\\EntityConverter::getLatestTranslationAffectedRevision() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \\Drupal\\Core\\Entity\\EntityRepositoryInterface::getActive() instead.', E_USER_DEPRECATED);
$data_type = 'language';
$context_id_prefix = '@language.current_language_context:';
$contexts = [
$context_id_prefix . LanguageInterface::TYPE_CONTENT => new Context(new ContextDefinition($data_type), $langcode),
$context_id_prefix . LanguageInterface::TYPE_INTERFACE => new Context(new ContextDefinition($data_type), $langcode),
];
$revision = $this->entityRepository
->getActive($entity
->getEntityTypeId(), $entity
->id(), $contexts);
// The EntityRepositoryInterface::getActive() method performs entity
// translation negotiation, but this used to return an untranslated entity
// object as translation negotiation happened later in ::convert().
if ($revision instanceof TranslatableInterface) {
$revision = $revision
->getUntranslated();
}
return $revision;
}