Type
magento2-module
Intervention Image helper for Magento 2
magento2-module
MIT
None
None
None
None
None
A useful template helper for applying transformations to images in Magento 2 using the Intervention Image library.
composer require "dakzilla/intervention-image-helper":"~1.0"
Call the image helper from any (.phtml) template using this code:
<?php
/** @var \Dakzilla\Intervention\Helper\Image $imageHelper */
$imageHelper = $this->getImageHelper();
?>
You can now call the make
method to load an image URL or a relative image path:
$image = $imageHelper->make('http://mysite.com/media/wysiwyg/home/home-main.jpg')
# OR
$image = $imageHelper->make('test/Pineapple.jpg')
Then, you can chain the desired transformation methods, and finally call the get
method to get the link to the cached image:
$imageUrl = $image->flip()
->invert()
->resize(350, null, function ($constraint) {
$constraint->aspectRatio();
})
->get();
Or, you can do all of these at once with a short, chained syntax:
<img src="<?php echo $imageHelper
->make('test/Pineapple.jpg')
->flip()
->invert()
->resize(350, null, function ($constraint) {
$constraint->aspectRatio();
})
->get(); ?>">
The above example will create a horizontally-flipped, color-inverted and automatically resized version of the original picture that retains the correct ratio. Of course, a more common usage would be to simply crop and/or resize a picture without applying cosmetic filters.
Delete the image cache directory. By default, this is <magento root>/pub/media/cache/dakzilla_intervention
To avoid potential permission issues, do not re-create this folder after deleting it. Let Magento re-create it automatically.
The helper provides IDE-compatible method hints for every available transformation method. For the most part, these methods are self-explanatory. For further information on these methods, please refer to the Intervention Image documentation.
This module has been tested with Magento 2.1.5. As Magento 2 is still evolving rapidly, there is no guarantee that it will work with every version. However, as this package is unassuming in what it achieves and respects Magento 2 best coding practices, I see no reason why it should cause issues in your installation.
This simple package is piggybacking on the incredible work of Oliver Vogel with his Intervention Image and Image Cache packages.
This module was also inspired by the awesome work of Stämpfli AG and their Magento 2 Image Resizer module.
This module is licensed under the MIT License
Copyright 2017 Simon Dakin
Made with ♥ in Montreal