maxdancepro / yii2-image-crop
Yii2 extension for upload and crop images Bootstrap 4
Installs: 102
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Type:yii2-extension
Requires
- bower-asset/jcrop: 0.9.*
- yiisoft/yii2: 2.0.*
- yiisoft/yii2-bootstrap4: ^2.0
- yiisoft/yii2-imagine: 2.*
README
Yii2 расширение для загрузки и кропа изображений
Установка
Предпочтительно устанавливать расширение через composer.
Выполните в консоли
php composer.phar require --prefer-dist maxdancepro/yii2-image-crop "*"
или добавьте
"maxdancepro/yii2-image-crop": "*"
в секцию require вашего composer.json
файла.
Использование
Когда расширение установлено, его можно использовать таким образом:
В вашей модели:
public function behaviors() { return [ [ 'class' => \maxdancepro\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, ], ], ], ], ], //другие поведения ]; }
Валидацию атрибута необходимо производить как обычно, через метод rules().
В вашем файле вида с формой:
echo $form->field($model, 'avatar')->widget('maxdancepro\image\Widget');
Затем, в основном файле вида:
echo Html::img($model->getImageUrl('avatar')); echo Html::img($model->getImageUrl('logo', 'mini')); //получим url миниатюры под именем 'mini' для атрибута 'logo'
Если вы используете Advanced App Template и это поведение находится в backend модели, то вы можете во frontend модель добавить трейт
use \maxdancepro\image\GetImageUrlTrait
и использовать метод getImageUrl() и во frontend модели.