PHPackages                             ignatenkovnikita/yii2-imagemanager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. ignatenkovnikita/yii2-imagemanager

ActiveYii2-extension[Image &amp; Media](/categories/media)

ignatenkovnikita/yii2-imagemanager
==================================

Yii2 Image Manager

v1.2(7y ago)012.4k↓50%1MITPHP

Since Oct 22Pushed 3y ago1 watchersCompare

[ Source](https://github.com/ignatenkovnikita/yii2-imagemanager)[ Packagist](https://packagist.org/packages/ignatenkovnikita/yii2-imagemanager)[ RSS](/packages/ignatenkovnikita-yii2-imagemanager/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (1)

Yii2 Image Manager
==================

[](#yii2-image-manager)

Yii2 Image Manager

[![Latest Stable Version](https://camo.githubusercontent.com/445c60dfc2b62bedbd68acfc64cdc90ac79d336bec66f64fc84eb892a60784cd/68747470733a2f2f706f7365722e707567782e6f72672f69676e6174656e6b6f766e696b6974612f796969322d696d6167656d616e616765722f762f737461626c65)](https://packagist.org/packages/ignatenkovnikita/yii2-imagemanager)[![Total Downloads](https://camo.githubusercontent.com/8c981db7a7a89e43a7d034dd222782e645b603633a7a2a95751853bc6555f155/68747470733a2f2f706f7365722e707567782e6f72672f69676e6174656e6b6f766e696b6974612f796969322d696d6167656d616e616765722f646f776e6c6f616473)](https://packagist.org/packages/ignatenkovnikita/yii2-imagemanager)[![Latest Unstable Version](https://camo.githubusercontent.com/ac0f749f896f25bf8e79ca440316a1d2967c8dbd3ba7e2b3242fae930e97f2db/68747470733a2f2f706f7365722e707567782e6f72672f69676e6174656e6b6f766e696b6974612f796969322d696d6167656d616e616765722f762f756e737461626c65)](https://packagist.org/packages/ignatenkovnikita/yii2-imagemanager)[![License](https://camo.githubusercontent.com/3051124dd74ed0cb952d7286648396d5ccb4d8558fe433ab68454dd720d4d3ad/68747470733a2f2f706f7365722e707567782e6f72672f69676e6174656e6b6f766e696b6974612f796969322d73656e6470756c73652f6c6963656e7365)](https://packagist.org/packages/ignatenkovnikita/yii2-imagemanager)

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
composer require --prefer-dist ignatenkovnikita/yii2-imagemanager "*"

```

or add

```
"ignatenkovnikita/yii2-imagemanager": "*"

```

to the require section of your `composer.json` file.

Apply migration

```
php yii migrate --migrationPath=vendor/ignatenkovnikita/yii2-imagemanager/migrations/
```

Usage
-----

[](#usage)

Example use on product preview and attachments

Add in model Product

```
public $attachments;
public $attachment;

const NAME_ATTACHMENTS = 'product.attachments';
const NAME_ATTACHMENT = 'product.attachment';

public function rules()
{
    return ArrayHelper::merge(parent::rules(), [
        [['attachments', 'attachment'], 'safe'],
    ]);
}

public function behaviors()
{
    return ArrayHelper::merge(parent::behaviors(), [
        [
            'class' => \ignatenkovnikita\imagemanager\behaviors\UploadBehavior::className(),
            'attribute' => 'attachments',
            'multiple' => true,
            'tag' => self::NAME_ATTACHMENTS,
            'pathAttribute' => 'path',
            'uploadRelation' => 'productAttachments',
            'baseUrlAttribute' => 'base_url',
            'orderAttribute' => 'order',
            'typeAttribute' => 'type',
            'sizeAttribute' => 'size',
            'nameAttribute' => 'name',
        ],
        [
            'class' => \ignatenkovnikita\imagemanager\behaviors\UploadBehavior::className(),
            'attribute' => 'attachment',
            'multiple' => false,
            'tag' => self::NAME_ATTACHMENT,
            'uploadRelation' => 'productAttachment',
            'pathAttribute' => 'path',
            'baseUrlAttribute' => 'base_url',
            'orderAttribute' => 'order',
            'typeAttribute' => 'type',
            'sizeAttribute' => 'size',
            'nameAttribute' => 'name',
        ],
    ]);
}

/**
 * @return \yii\db\ActiveQuery
 * @throws \Exception
 */
public function getProductAttachments()
{
    return $this->hasMany(ImageManager::class, ['owner_id' => 'id'])->andWhere(['tag' => self::NAME_ATTACHMENTS]);
}

/**
 * @return \yii\db\ActiveQuery
 * @throws \Exception
 */
public function getProductAttachment()
{
    return $this->hasOne(ImageManager::class, ['owner_id' => 'id'])->andWhere(['tag' => self::NAME_ATTACHMENT]);
}
```

Add widget on view

```
