This bundle gives you a simple way to generate resized images (using LiipImagineBundle) with dynamical sizes directly from your Controller or views.
"php": "^5.3.9|^7.0",
"liip/imagine-bundle": "^1.8"
Download composer at https://getcomposer.org/download/
composer require bigyouth/image-resizer-bundle 1.0.*
Then, enable the bundle by adding it to the bundles array of the registerBundles method in your project's app/AppKernel.php file:
<?php
# app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
// ...
new Bigyouth\BigyouthImageResizerBundle\BigyouthImageResizerBundle(),
];
// ...
}
// ...
}
# app/config/routing.yml
by_resizer:
resource: "@BigyouthImageResizerBundle/Controller"
type: annotation
First you need to install and configure the LiipImagineBundle. We recommend to set the default configuration without sizes specified :
# app/config/config.yml
liip_imagine:
filter_sets:
cache: ~
default:
quality: 95
filters:
thumbnail: { mode: inset }
To use the ImageResizerBundle in your controller, you only have to generate the by_resize route with the router service :
<?php
// ...
/**
* Class PageController
*
* @package Bigyouth\FrontBundle\Controller
*/
class PageController extends PageCacheController
{
// ...
public function indexAction(Request $request)
{
// ...
$route = $this->generateUrl('by_resize', [
'filter'=> 'default',
'path' => '/uploads/images/my-image.jpg',
'w' => 1280,
'h' => 720
]);
}
}
default : 'default'
The name of the filter you setted in app/config/config.yml within the LiipImagineBundle configuration and which you wish to use.
The web path of the image you wish to resize.
default : null
The width you want to set to your image.
default : null
The height you want to set to your image.
In your views, you can use the Twig extension by_resize as follows :
// ...
{{ by_resize('/uploads/images/my-image.jpg', 1280, 720, 'default', 'https') }}
// ...
The web path of the image you wish to resize.
default : null
The width you want to set to your image.
default : null
The height you want to set to your image.
default : 'default'
The name of the filter you setted in app/config/config.yml within the LiipImagineBundle configuration and which you wish to use.
default : 'http'
The scheme in which you want the url to be generated.
author : Alexis Smadja