brabijan / images
Image storage for Nette Framework
Installs: 17 577
Dependents: 2
Suggesters: 0
Security: 0
Stars: 56
Watchers: 5
Forks: 12
Open Issues: 0
Requires
- latte/latte: ~2.4
- nette/di: ~2.4
- nette/finder: ~2.4
- nette/http: ~2.4
- nette/utils: ~2.4
This package is not auto-updated.
Last update: 2024-11-10 22:12:58 UTC
README
This is a simple image storage for Nette Framework
Instalation
The best way to install brabijan/images is using Composer:
$ composer require brabijan/images:@dev
Then you have to register extension in config.neon
.
extensions: - Brabijan\Images\DI\ImagesExtension
Package contains trait, which you will have to use in class, where you want to use image storage. This works only for PHP 5.4+, for older version you can simply copy trait content and paste it into class where you want to use it.
<?php class BasePresenter extends Nette\Application\UI\Presenter { use Brabijan\Images\TImagePipe; }
Usage
Saving images
/** @var Brabijan\Images\ImageStorage $imageStorage */ $imageStorage->upload($fileUpload); // saves to .../assetsDir/original/filename.jpg $imageStorage->setNamespace("products")->upload($fileUpload); // saves to .../assetsDir/products/original/filename.jpg
Using in Latte
<a href="{img products/filename.jpg}"><img n:img="filename.jpg, 200x200, fill"></a>
output:
<a href="/assetsDir/products/original/filename.jpg"><img src="/assetsDir/200x200_4/filename.jpg"></a>
Using in Texy!
First you have to register macro into Texy!
$texy = new Texy; $this->registerTexyMacros($texy);
Now you can just use it. Macro expands native image macro in Texy. Here is the syntax.
[* products/filename.jpg, 200x200, fill *]
If file not found in image storage, macro try to search file in document root. Of course you can add title or floating of image, as you know from pure Texy!
Resizing flags
For resizing (third argument) you can use these keywords - fit
, fill
, exact
, stretch
, shrink_only
. For details see comments above these constants