imponeer/smarty-image

Smarty plugin that adds some image related template syntax enchaments

v2.0.2 2023-07-01 17:40 UTC

README

License GitHub release Maintainability PHP Packagist

Smarty Image

Some Smarty syntax plugins for operations with images.

Installation

To install and use this package, we recommend to use Composer:

composer require imponeer/smarty-image

Otherwise, you need to include manually files from src/ directory.

Registering in Smarty

If you want to use these extensions from this package in your project you need register them with registerPlugin function from Smarty. For example:

$smarty = new \Smarty();
$resizeImagePlugin = new \Imponeer\Smarty\Extensions\Image\ResizeImageFunction($psrCacheAdapter);
$smarty->registerPlugin('function', $resizeImagePlugin->getName(), [$resizeImagePlugin, 'execute']);

Using from templates

To resize images from smarty You can use resized_image function:

  {resized_image file="/images/image.jpg" height=70}

This function supports such arguments:

Argument Required Default value Description
file yes Image file to resize
width if height is not specified Resized image width
height if width is not specified Resized image height
fit no outside Method used for resize. Supported fill, inside, outside
href or link no if specified and return is set to image, will output generated HTML as image with link to this specific location
basedir no $_SERVER['DOCUMENT_ROOT'] Base dir where to look for image files
return no image Returns result as HTML tag if value is image, or as resized image URI if value is url.

All extra arguments will be rendered into image tag, if return mode is image.

How to contribute?

If you want to add some functionality or fix bugs, you can fork, change and create pull request. If you not sure how this works, try interactive GitHub tutorial.

If you found any bug or have some questions, use issues tab and write there your questions.