imagezoom.module in Image Zoom 8.2
Same filename and directory in other branches
Provides an Image Zoom field formatter for Image fields.
This module provides a field formatter that allows users to specify an image style to display, and another image style to use as the zoomed version of the image. Hovering the mouse over the image will display the zoomed version, which shifts with mouse movement.
File
imagezoom.moduleView source
<?php
/**
* @file
* Provides an Image Zoom field formatter for Image fields.
*
* This module provides a field formatter that allows users to specify an image
* style to display, and another image style to use as the zoomed version of the
* image. Hovering the mouse over the image will display the zoomed version,
* which shifts with mouse movement.
*/
use Drupal\image\Entity\ImageStyle;
/**
* Implements hook_theme().
*/
function imagezoom_theme($existing, $type, $theme, $path) {
return [
'imagezoom_image' => [
'variables' => [
'item' => NULL,
'display_style' => NULL,
'zoom_style' => NULL,
'settings' => NULL,
],
'template' => 'imagezoom-image',
],
];
}
/**
* Preprocess function for imagezoom_image.
*/
function template_preprocess_imagezoom_image(&$variables) {
if ($item = $variables['item']) {
/** @var Drupal\Core\Image\Image $image */
if ($variables['display_style']) {
$image_style = ImageStyle::load($variables['display_style']);
$variables['image'] = $image_style
->buildUrl($item->entity
->getFileUri());
$image = \Drupal::service('image.factory')
->get($image_style
->buildUri($item->entity
->getFileUri()));
}
else {
$variables['image'] = file_create_url($item->entity
->getFileUri());
$image = \Drupal::service('image.factory')
->get($item->entity
->getFileUri());
}
$variables['width'] = $image
->getWidth();
$variables['height'] = $image
->getHeight();
$variables['alt'] = $item->alt;
$variables['title'] = $item->title;
if ($variables['zoom_style']) {
$image_style = ImageStyle::load($variables['zoom_style']);
$variables['zoom'] = $image_style
->buildUrl($item->entity
->getFileUri());
}
else {
$variables['zoom'] = file_create_url($item->entity
->getFileUri());
}
}
}
Functions
Name | Description |
---|---|
imagezoom_theme | Implements hook_theme(). |
template_preprocess_imagezoom_image | Preprocess function for imagezoom_image. |