Skip to content

UsefulWeb/yii2-uploadable-cropable-image

 
 

Repository files navigation

Yii2 uploadable and cropable image

Yii2 extension for upload and crop images

Latest Version Software License Quality Score Code Climate Total Downloads

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.

About

Yii2 extension for upload and crop images

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 70.6%
  • PHP 25.5%
  • CSS 3.9%