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

ActiveYii2-extension

pistol88/yii2-gallery
=====================

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

21.1k3[1 PRs](https://github.com/pistol88/yii2-gallery/pulls)1PHP

Since Aug 10Pushed 8y ago3 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (1)

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

[](#yii2-gallery)

Внимание!
=========

[](#внимание)

Разработка модуля с 24.04.2017 ведется здесь: [dvizh/yii2-gallery](https://github.com/dvizh/yii2-gallery). Рекомендую устанавливать модуль из репозитория Dvizh, именно там находится последняя версия.

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

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

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

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

```
php composer require pistol88/yii2-gallery "*"

```

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

```
"pistol88/yii2-gallery": "*",

```

И выполнить

```
php composer update

```

Миграция

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

```

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

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

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

```
    'modules' => [
        'gallery' => [
            'class' => 'pistol88\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',
        ],
        //...
    ]
```

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

```
    function behaviors()
    {
        return [
            'images' => [
                'class' => 'pistol88\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`для формы.

```
