PHPackages                             dvizh/yii2-gallery - 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. dvizh/yii2-gallery

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

dvizh/yii2-gallery
==================

Модуль позволяет загружать виджетом картинки

114.2k[3 issues](https://github.com/dvizh/yii2-gallery/issues)[2 PRs](https://github.com/dvizh/yii2-gallery/pulls)PHP

Since Feb 5Pushed 6y agoCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Yii2-gallery
============

[](#yii2-gallery)

Это модуль был создан, чтобы дать возможность быстро загружать в админке картинки, добавлять титульник, описание, альтернативный текст, а также задать положение (чем выше значение тем выше в списке будет изображение).

Установка
---------

[](#установка)

Выполнить команду

```
php composer require dvizh/yii2-gallery "@dev"

```

Или добавить в composer.json

```
"dvizh/yii2-gallery": "@dev",

```

И выполнить

```
php composer update

```

Миграция

```
php yii migrate/up --migrationPath=@vendor/dvizh/yii2-gallery/src/migrations

```

Подключение и настройка
-----------------------

[](#подключение-и-настройка)

В конфигурационный файл приложения добавить модуль gallery

```
    'modules' => [
        'gallery' => [
            'class' => 'dvizh\gallery\Module',
            'imagesStorePath' => dirname(dirname(__DIR__)).'/frontend/web/images/store', //path to origin images
            'imagesCachePath' => dirname(dirname(__DIR__)).'/frontend/web/images/cache', //path to resized copies
            'graphicsLibrary' => 'GD',
            'placeHolderPath' => '@webroot/images/placeHolder.png',
            'adminRoles' => ['administrator', 'admin', 'superadmin'],
        ],
        //...
    ]
```

К модели, к которой необходимо аттачить загружаемые картинки, добавляем поведение:

```
    function behaviors()
    {
        return [
            'images' => [
                'class' => 'dvizh\gallery\behaviors\AttachImages',
                'mode' => 'gallery',
                'quality' => 60,
                'galleryId' => 'picture'
            ],
        ];
    }
```

\*mode - тип загрузки. gallery - массовая загрузка, single - одиночное поле, если вам необходимо сжатие то установите quality (0 - 100) где 0 - максимальное сжатие, 100 - минимальное сжатие. galleryId - идентификатор галереи, если у вас возникает конфликт при одинаковых имён класса

Использование
-------------

[](#использование)

Использовать можно также, как напрямую:

```
$images = $model->getImages();
foreach($images as $img) {
    //retun url to full image
    echo $img->getUrl();

    //return url to proportionally resized image by width
    echo $img->getUrl('300x');

    //return url to proportionally resized image by height
    echo $img->getUrl('x300');

    //return url to resized and cropped (center) image by width and height
    echo $img->getUrl('200x300');

    //return alt text to image
    $img->alt

    //return title to image
    $img->title

    //return description image
    $img->description
}
```

Виджеты
-------

[](#виджеты)

Загрузка картинок осуществляется через виджет. Добавьте в \_form.php внутри формы CRUDа вашей модели. Виджету передаются следующие параметры: model =&gt; Модель к которой будут привязаны картинки, по умолчанию null; previewSize =&gt; размер превью загруженных изображений, по умолчанию '140x140'; label =&gt; метка для виджета по умолчанию 'Изображение'; fileInputPluginLoading =&gt; нужно ли показывать индикатор загрузки прогресса в месте ввода, по умолчанию true; fileInputPluginOptions =&gt; массив свойств виджета [kartik/file/fileInput](http://demos.krajee.com/widget-details/fileinput), по умолчанию \[\];

Не забудьте `php`для формы.

```
