PHP code example of ignatenkovnikita / yii2-imagemanager

1. Go to this page and download the library: Download ignatenkovnikita/yii2-imagemanager library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ignatenkovnikita / yii2-imagemanager example snippets


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]);
}



 echo $form->field($model, 'attachment')->widget(
    Upload::className(),
    [
        'url' => ['/file-storage/upload'],
        'maxFileSize' => 5000000, // 5 MiB
    ]);
bash
php yii migrate --migrationPath=vendor/ignatenkovnikita/yii2-imagemanager/migrations/