Image style generate behavior for Yii 2
Create sets of styles for your images, (*1)
Installation
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
$ composer require artkost/yii2-image-style-behavior
or add, (*4)
"artkost/yii2-image-style-behavior": "*"
to the require
section of your composer.json
file., (*5)
Configuring
Configure model as follows, (*6)
use artkost\imagestyle\ImageStyleBehavior;
class ImageFile extends \yii\db\ActiveRecord
{
public function behaviors()
{
return [
'styles' => [
'class' => ImageStyleBehavior::className(),
'path' => '@webroot/uploads/styles',
'url' => '@web/uploads/styles',
'attribute' => 'uri',
'styles' => [
'big' => [$this, 'styleBig'], //can be any valid callable
'small' => [$this, 'styleSmall']
]
]
];
}
/**
* @return \Imagine\Image\ManipulatorInterface
*/
public function styleBig()
{
return Image::thumbnail($this->filePath, 814, 458)->save($this->style('big')->path);
}
}
Usage
$file = ImageFile::findOne($id);
echo $file->style('big')->url;