Download the PHP package mix8872/yii2-files without Composer
On this page you can find all versions of the php package mix8872/yii2-files. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package yii2-files
Yii2-files module
Module for attach any files to the your models.
This module is a new version of mix8872/files-attacher
and not compatible with it!
You may use old mix8872/files-attacher or completely delete it and install this module.
The migration mechanism is not provided.
Installation
The preferred way to install this extension is through composer.
Either run
or add
to the require
section of your composer.json
.
Then you must run migration by running command:
yii migrate --migrationPath=@vendor/mix8872/yii2-files/src/migrations
Configure
To configure module please add following to the modules section of common main config:
Common:
Frontend:
Important!!!
Don't forget deny access to module from frontend app!!!
Backend:
In config you may define access control to prevent access to the administrative part of the module.
Also you can define sizes
to create additional sizes for uploaded images.
In resize
definitions, also you can optional define model for which scaling will be applied. Support definition several models as array.
To use sizes names template you may define sizesNameTemplate
option, where %k
- key, %s
- size. By default - %s
;
If origResize
option defined original image size will be changed. Also you can define models array;
Also you can change image driver to imagick.
By define filesNameBy
option you may change files naming style from random string to translit file name, also you can define model
attribute too.
For changing default save path you can define savePath
option. The path will be considered from the web directory.
Usage
Using the module is available as a widget and behavior for the model.
First, you must configure the behavior of the required models in this way:
In tags attribute you may define tags for attach files, if you define same tags in delteOld attribute then files loaded with this tags will be rewritten by newly added files.
Also you can configure attachment parameters directly in behavior:
Any way you must declare fileAttachBehavior with this name files
:
If you need do a batch update models with their files then you may define indexBy
behavior property
and specify the name of the parent model property that will be used for indexing. By default is id
.
Next you may add widget model and echo widget with its config:
!!! IMPORTANT !!!
You may define form with ['options' => ['enctype' => 'multipart/form-data']]
if you use stay alone widget instead input widget!
If uses input widget - multipart/form-data
automatically added to you form.
Also you can attach file to model by url as follows:
You can get the model files by calling the method:
- $property - tag of you attachment
- $single - if true - returns single attachment object, default false
- $asQuery - if true - returns ActiveQuery object, default false
or by accessing as property:
If uses getting files as property then you get array of files objects if property is multiple or single file object if not.
Events
On adding, updating and deletion files will generates next events:
- EVENT_FILE_ADD
- EVENT_FILE_UPDATE
- EVENT_FILE_DELETE
For catching events you can declare this functions in you model:
triggered on adding a file
triggered on updating a file
triggered on file deletion
Console
Coming soon
All versions of yii2-files with dependencies
ext-mbstring Version *
ext-intl Version *
npm-asset/bootstrap-fileinput Version ~5.1
intervention/image Version *
himiklab/yii2-sortable-grid-view-widget Version *
twbs/bootstrap-icons Version ^1.10
yiisoft/yii2-bootstrap5 Version 2.0.3