diff --git a/src/Plugin/Field/FieldFormatter/ImagePopupFieldFormatter.php b/src/Plugin/Field/FieldFormatter/ImagePopupFieldFormatter.php index 8874c9f..baa30eb 100644 --- a/src/Plugin/Field/FieldFormatter/ImagePopupFieldFormatter.php +++ b/src/Plugin/Field/FieldFormatter/ImagePopupFieldFormatter.php @@ -1,16 +1,8 @@ get('current_user'), $container->get('link_generator'), $container->get('entity.manager')->getStorage('image_style') - //$container->get('entity.manager')->getStorage('image_style_popup') + // $container->get('entity.manager')->getStorage('image_style_popup') ); } @@ -109,11 +103,11 @@ class ImagePopupFieldFormatter extends ImageFormatterBase implements ContainerFa * {@inheritdoc} */ public static function defaultSettings() { - return array( + return [ 'image_style' => '', 'image_style_popup' => '', 'image_link' => '', - ) + parent::defaultSettings(); + ] + parent::defaultSettings(); } /** @@ -122,29 +116,29 @@ class ImagePopupFieldFormatter extends ImageFormatterBase implements ContainerFa public function settingsForm(array $form, FormStateInterface $form_state) { $image_styles = image_style_options(FALSE); $elements = parent::settingsForm($form, $form_state); - $elements['image_style'] = array( + $elements['image_style'] = [ '#title' => t('Image style'), '#type' => 'select', '#default_value' => $this->getSetting('image_style'), '#empty_option' => t('None (original image)'), '#options' => $image_styles, - '#description' => array( + '#description' => [ '#markup' => $this->linkGenerator->generate($this->t('Configure Image Styles'), new Url('entity.image_style.collection')), '#access' => $this->currentUser->hasPermission('administer image styles'), - ), - ); + ], + ]; - $elements['image_style_popup'] = array( + $elements['image_style_popup'] = [ '#title' => t('Popup Image style'), '#type' => 'select', '#default_value' => $this->getSetting('image_style_popup'), '#empty_option' => t('None (original image)'), '#options' => $image_styles, - '#description' => array( + '#description' => [ '#markup' => $this->linkGenerator->generate($this->t('Configure Image Styles'), new Url('entity.image_style.collection')), '#access' => $this->currentUser->hasPermission('administer image styles'), - ), - ); + ], + ]; return $elements; } @@ -153,7 +147,7 @@ class ImagePopupFieldFormatter extends ImageFormatterBase implements ContainerFa * {@inheritdoc} */ public function settingsSummary() { - $summary = array(); + $summary = []; $image_styles = image_style_options(FALSE); // Unset possible 'No defined styles' option. @@ -162,7 +156,7 @@ class ImagePopupFieldFormatter extends ImageFormatterBase implements ContainerFa // their styles in code. $image_style_setting = $this->getSetting('image_style'); if (isset($image_styles[$image_style_setting])) { - $summary[] = t('Image style: @style', array('@style' => $image_styles[$image_style_setting])); + $summary[] = t('Image style: @style', ['@style' => $image_styles[$image_style_setting]]); } else { $summary[] = t('Original image'); @@ -174,22 +168,26 @@ class ImagePopupFieldFormatter extends ImageFormatterBase implements ContainerFa * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { - $elements = array(); + $elements = []; $files = $this->getEntitiesToView($items, $langcode); - + // If there are no files, return an empty element. + if (!isset($files[0])) { + return []; + } $image_style_popup = $this->getSetting('image_style_popup'); $image_style_name = $this->getSetting('image_style'); $image_fid = $files[0]->get('fid')->getValue()[0]['value']; - $image_style = ImageStyle::load($image_style_name); $config_name = "image.style." . $image_style_popup; $image_style_popup_settings = \Drupal::config($config_name)->getRawData(); - //$image_style_popup_settings = entity_load('image_style', $image_style_popup); + // $image_style_popup_settings = entity_load('image_style', $image_style_popup); $popup_width = 750; - foreach ($image_style_popup_settings['effects'] as $key => $effect) { - if ($effect['id'] == 'image_scale') { - $popup_width = $effect['data']['width']; + if (isset($image_style_popup_settings['effects'])) { + foreach ($image_style_popup_settings['effects'] as $key => $effect) { + if ($effect['id'] == 'image_scale') { + $popup_width = $effect['data']['width']; + } } } @@ -205,10 +203,10 @@ class ImagePopupFieldFormatter extends ImageFormatterBase implements ContainerFa } global $base_url; $img = ""; - $img_link = "" . $img . ""; - $elements[$delta] = array( + $img_link = "" . $img . ""; + $elements[$delta] = [ '#markup' => $img_link, - ); + ]; }