maxmirazh33 / yii2-uploadable-cropable-image
Yii2 extension for upload and crop images
Installs: 17 720
Dependents: 2
Suggesters: 0
Security: 0
Stars: 9
Watchers: 1
Forks: 9
Open Issues: 5
Type:yii2-extension
Requires
- bower-asset/jcrop: 0.9.*
- yiisoft/yii2: 2.0.*
- yiisoft/yii2-bootstrap: 2.*
- yiisoft/yii2-imagine: 2.*
README
Yii2 extension for upload and crop images
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist maxmirazh33/yii2-uploadable-cropable-image "*"
or add
"maxmirazh33/yii2-uploadable-cropable-image": "*"
to the require section of your composer.json
file.
Usage
Once the extension is installed, simply use it in your code by :
In your model:
public function behaviors() { return [ [ 'class' => \maxmirazh33\image\Behavior::className(), 'savePathAlias' => '@web/images/', 'urlPrefix' => '/images/', 'crop' => true, 'attributes' => [ 'avatar' => [ 'savePathAlias' => '@web/images/avatars/', 'urlPrefix' => '/images/avatars/', 'width' => 100, 'height' => 100, ], 'logo' => [ 'crop' => false, 'thumbnails' => [ 'mini' => [ 'width' => 50, ], ], ], ], ], //other behaviors ]; }
Use rules for validate attribute.
In your view file:
echo $form->field($model, 'avatar')->widget('maxmirazh33\image\Widget');
After, in your view:
echo Html::img($model->getImageUrl('avatar')); echo Html::img($model->getImageUrl('logo', 'mini')); //get url of thumbnail named 'mini' for 'logo' attribute
If you use Advanced App Template and this behavior attached in backend model, then in frontend model add trait
use \maxmirazh33\image\GetImageUrlTrait
and use getImageUrl() method for frontend model too.