Browse Source

Rebasing code

merge-requests/35/head
Jose Perez 2 years ago
parent
commit
0f65cc9fda
  1. 18
      src/UrlExtractor.php
  2. 2
      twig_tweak.services.yml

18
src/UrlExtractor.php

@ -8,6 +8,7 @@ use Drupal\Core\Field\EntityReferenceFieldItemListInterface;
use Drupal\Core\Field\FieldItemList;
use Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem;
use Drupal\Core\File\FileUrlGeneratorInterface;
use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\file\FileInterface;
use Drupal\link\LinkItemInterface;
use Drupal\media\MediaInterface;
@ -32,12 +33,20 @@ class UrlExtractor {
*/
protected $fileUrlGenerator;
/**
* The language manager.
*
* @var \Drupal\Core\Language\LanguageManagerInterface
*/
protected $languageManager;
/**
* Constructs a UrlExtractor object.
*/
public function __construct(EntityTypeManagerInterface $entity_type_manager, FileUrlGeneratorInterface $file_url_generator) {
public function __construct(EntityTypeManagerInterface $entity_type_manager, FileUrlGeneratorInterface $file_url_generator, LanguageManagerInterface $languageManager) {
$this->entityTypeManager = $entity_type_manager;
$this->fileUrlGenerator = $file_url_generator;
$this->languageManager = $languageManager;
}
/**
@ -72,15 +81,10 @@ class UrlExtractor {
elseif ($input instanceof EntityReferenceItem) {
$entity = $input->entity;
}
// Get the current Language Code.
$languageManager = \Drupal::languageManager();
$currentLanguage = $languageManager->getCurrentLanguage(LanguageInterface::TYPE_CONTENT);
$languageCode = $currentLanguage->getId();
// Drupal does not clean up references to deleted entities. So that the
// entity property might be empty while the field item might not.
// @see https://www.drupal.org/project/drupal/issues/2723323
$langcode = $this->languageManager->getCurrentLanguage()->getId();
return $entity instanceof ContentEntityInterface ?
$this->getUrlFromEntity($entity->hasTranslation($langcode) ? $entity->getTranslation($langcode) : $entity , $relative) : NULL;
}

2
twig_tweak.services.yml

@ -34,7 +34,7 @@ services:
twig_tweak.url_extractor:
class: Drupal\twig_tweak\UrlExtractor
arguments: ['@entity_type.manager', '@file_url_generator']
arguments: ['@entity_type.manager', '@file_url_generator', '@language_converter']
twig_tweak.uri_extractor:
class: Drupal\twig_tweak\UriExtractor

Loading…
Cancel
Save