philippfrenzel / yii2-attachments

Yii2 extension for uploading and attaching the files to the models

Home Page:https://badbreze.github.io/yii2-attachments/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yii2 attachments

Latest Stable Version Total Downloads License

Extension for file uploading and attaching to the models

This fork has the aim to implement some missing features such as multiple fields and simplifying installation

Demo

You can see the demo on the krajee website

Installation

  1. The preferred way to install this extension is through composer.

Either run

composer require badbreze/yii2-attachments

or add

"badbreze/yii2-attachments": ">=1.2.0"

to the require section of your composer.json file.

  1. Add module to your main config:
<?php
'aliases' => [
    '@file' => dirname(__DIR__),
],
'modules' => [
    'file' => [
        'class' => 'file\FileModule',
        'webDir' => 'files',
        'tempPath' => '@common/uploads/temp',
        'storePath' => '@common/uploads/store',
        'tableName' => '{{%attach_file}}' // Optional, default to 'attach_file'
    ],
],

Also, add these lines to your console config:

<?php
'controllerMap' => [
    'file' => [
        'class' => 'yii\console\controllers\MigrateController',
        'migrationPath' => '@file/migrations'
    ],
],
  1. Apply migrations
php yii migrate/up --migrationPath=@vendor/badbreze/yii2-attachments/src/migrations
  1. Attach behavior to your model (be sure that your model has "id" property)
<?php
use yii\helpers\ArrayHelper;

/**
 * Declare file fields
 */
public $my_field_multiple_files;
public $my_field_single_file;

/**
 * Adding the file behavior
 */
public function behaviors()
{
    return ArrayHelper::merge(parent::behaviors(), [
        'fileBehavior' => [
            'class' => \file\behaviors\FileBehavior::className()
        ]
    ]);
}

/**
 * Add the new fields to the file behavior
 */
public function rules()
{
    return ArrayHelper::merge(parent::rules(), [
        [['my_field_multiple_files', 'my_field_single_file'], 'file'],
    ]);
}
  1. Make sure that you have added 'enctype' => 'multipart/form-data' to the ActiveForm options

  2. Make sure that you specified maxFiles in module rules and maxFileCount on AttachmentsInput to the number that you want

  3. Youre ready to use, See How

About

Yii2 extension for uploading and attaching the files to the models

https://badbreze.github.io/yii2-attachments/


Languages

Language:PHP 100.0%