diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php index 5f15073..46aeb4e 100644 --- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php +++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php @@ -235,4 +235,18 @@ public function viewElements(FieldItemListInterface $items) { return $elements; } + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + $dependencies = []; + + if (!empty($image_style_setting)) { + $image_style = $this->imageStyleStorage->load($image_style_setting); + $dependencies['config'][] = $image_style->getConfigDependencyName(); + } + + return $dependencies; + } + } diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php index 8902352..f0ce6c6 100644 --- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php +++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php @@ -40,13 +40,15 @@ public static function defaultSettings() { public function settingsForm(array $form, FormStateInterface $form_state) { $image_styles = image_style_options(FALSE); $element['image_style'] = [ - '#title' => t('Image style'), + '#title' => $this->t('Image style'), '#type' => 'select', '#default_value' => $this->getSetting('image_style'), - '#empty_option' => t('None (original image)'), + '#empty_option' => $this->t('None (original image)'), '#options' => $image_styles, '#description' => [ - '#markup' => $this->linkGenerator->generate($this->t('Configure Image Styles'), new Url('entity.image_style.collection')), + '#type' => 'link', + '#title' => $this->t('Configure Image Styles'), + '#url' => new Url('entity.image_style.collection'), '#access' => $this->currentUser->hasPermission('administer image styles'), ], ]; @@ -67,10 +69,10 @@ public function settingsSummary() { // their styles in code. $image_style_setting = $this->getSetting('image_style'); if (isset($image_styles[$image_style_setting])) { - $summary[] = t('Image style: @style', ['@style' => $image_styles[$image_style_setting]]); + $summary[] = $this->t('Image style: @style', ['@style' => $image_styles[$image_style_setting]]); } else { - $summary[] = t('Original image'); + $summary[] = $this->t('Original image'); } } @@ -91,12 +93,12 @@ public function viewElements(FieldItemListInterface $items) { $image_style_setting = $this->getSetting('image_style'); // Collect cache tags to be added for each item in the field. - $cache_tags = []; + $image_style_cache_tags = []; /** @var \Drupal\image\Entity\ImageStyle|false $image_style */ $image_style = FALSE; if (!empty($image_style_setting)) { $image_style = $this->imageStyleStorage->load($image_style_setting); - $cache_tags = $image_style->getCacheTags(); + $image_style_cache_tags = $image_style->getCacheTags(); } foreach ($images as $delta => $image) { @@ -106,7 +108,7 @@ public function viewElements(FieldItemListInterface $items) { ? $image_style->buildUrl($image_uri) : file_create_url($image_uri); - $cache_tags = Cache::mergeTags($cache_tags, $image->getCacheTags()); + $cache_tags = Cache::mergeTags($image_style_cache_tags, $image->getCacheTags()); $elements[$delta] = [ '#markup' => $url,