Модуль yiiimages - это менеджер изображений для Yii Framework 2.0. Он также включает в себя средства обработки изображений для создания эскизов.
Установка:
Скачайте пакет с помощью Composer:
composer require makeitbetter/yiiimages
или клонируйте репозиторий с BitBucket:
git clone https://bitbucket.org/makeitbetter/yiiimages.git
Включите модуль в файле конфигурации (см. руководство):
'modules' => [ ... 'yiiimages' => [ 'class' => 'makeitbetter\yiiimages\Module', 'options' => [], ], ... ], ... 'bootstrap' => [ ... 'yiiimages', ... ],
Опции:
- sourceFolder
*
- Папка в которую будут складываться исходные изображения, не обязательно доступная по HTTP. По умолчанию - @app/media. - targetFolder
*
- Папка в которую будут складываться созданные эскизы (относительно корня документа). По умолчанию - thumbnails. - paddingColor
*
- Цвет для заливки свободного пространства на эскизах. По умолчанию - белый, ffffff. - getThumbnailPathMethod - Функция определяющая путь к эскизу и имя файла. На вход должна принимать объект Thumbnail и возвращать строку. По умолчанию будет использован собственный метод класса.
- width
*
- Ширина эскиза в для предпросмотра. По умолчанию - 150. - height
*
- Высота эскиза в для предпросмотра. По умолчанию - 150. - crop
*
- Обрезать ли изображение для предпросмотра. По умолчанию - true. - stretch
*
- Растягивать ли маленькие изображения для предпросмотра. По умолчанию - false. - maxUploadNumber - Количество изображений для одновременной загрузки. По умолчанию - 10.
*
Более подробное разъяснение можно получить в описании класса Thumbnail.
Распределите права: browseImages, addImages, deleteImages. (см. руководство)
Использвание:
Поле выбора изображения
use makeitbetter\yiiimages\widgets\ImageInput; ... echo $form->field($model, 'property_name')->widget(ImageInput::className(), $options); ... // Или без объекта ActiveForm: echo ImageInput::widget(['model' => $model, 'attribute' => 'property_name']);
Вывод на страницах сайта
use makeitbetter\thumbnail\Thumbnail; ... Thumbnail::of($model->propery_name, ....)->img()
Более подробное разъяснение можно получить в описании класса Thumbnail.