2017 © Pedro Peláez
 

yii2-extension yii2-gallery-manager

This is fork https://github.com/zxbodya/yii2-gallery-manager. Improved and upgraded version of extension.

image

bupy7/yii2-gallery-manager

This is fork https://github.com/zxbodya/yii2-gallery-manager. Improved and upgraded version of extension.

  • Wednesday, April 15, 2015
  • by bupy7
  • Repository
  • 1 Watchers
  • 0 Stars
  • 14 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 49 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Gallery Manager usage instructions

Yii2 port of https://github.com/zxbodya/yii-gallery-manager, (*1)

(frontend part mostly without changes, but backend was rewritten almost completely), (*2)

warning: preview version, (*3)

Features

  1. AJAX image upload
  2. Optional name and description for each image
  3. Possibility to arrange images in gallery
  4. Ability to generate few versions for each image with different configurations
  5. Drag & Drop

Decencies

  1. Yii2
  2. Twitter bootstrap assets (version 3)
  3. Imagine library
  4. JQuery UI (included with Yii)

Installation:

The preferred way to install this extension is through composer., (*4)

Either run, (*5)

php composer.phar require --prefer-dist zxbodya/yii2-gallery-manager "*@dev", (*6)

or add, (*7)

"zxbodya/yii2-gallery-manager": "*@dev", (*8)

to the require section of your composer.json file., (*9)

Usage

Add migration to create table for images:, (*10)

class m150318_154933_gallery_ext
    extends zxbodya\yii2\galleryManager\migrations\m140930_003227_gallery_manager
{

}

Or better - copy migration to you application., (*11)

Add GalleryBehavior to your model, and configure it, create folder for uploaded files., (*12)

public function behaviors()
{
    return [
         'galleryBehavior' => [
             'class' => GalleryBehavior::className(),
             'type' => 'product',
             'extension' => 'jpg',
             'directory' => Yii::getAlias('@contentRoot') . '/images/product/gallery',
             'url' => Yii::getAlias('@web') . '/images/product/gallery',
             'versions' => [
                 'small' => function ($img) {
                     /** @var ImageInterface $img */
                     return $img
                         ->copy()
                         ->thumbnail(new Box(200, 200));
                 },
                 'medium' => function ($img) {
                     /** @var ImageInterface $img */
                     $dstSize = $img->getSize();
                     $maxWidth = 800;
                     if ($dstSize->getWidth() > $maxWidth) {
                         $dstSize = $dstSize->widen($maxWidth);
                     }
                     return $img
                         ->copy()
                         ->resize($dstSize);
                 },
             ]
         ]
    ];
}

Add GalleryManagerAction in controller somewhere in your application. Also on this step you can add some security checks for this action., (*13)

public function actions()
{
    return [
       'galleryApi' => [
           'class' => GalleryManagerAction::className(),
           // mappings between type names and model classes (should be the same as in behaviour)
           'types => [
               'product' => Product::className()
           ]
       ],
    ];
}

Add ImageAttachmentWidget somewhere in you application, for example in editing from., (*14)

if ($model->isNewRecord) {
    echo 'Can not upload images for new record';
} else {
    echo GalleryManager::widget(
        [
            'model' => $model,
            'behaviorName' => 'galleryBehavior',
            'apiRoute' => 'product/galleryApi'
        ]
    );
}

Done!, (*15)

Now, you can use uploaded images from gallery like following:, (*16)

foreach($model->getBehavior('galleryBehavior')->getImages() as $image) {
    echo Html::img($image->getUrl('medium'));
}

Options

Using non default table name for gallery images(default is {{%gallery_image}}):, (*17)

  1. Add migration that will create table you need
  2. Change tableName property in behavior configuration

The Versions

15/04 2015

dev-master

9999999-dev https://github.com/bupy7/yii2-gallery-manager

This is fork https://github.com/zxbodya/yii2-gallery-manager. Improved and upgraded version of extension.

  Sources   Download

MIT

The Requires

 

by Bogdan Savluk

extension yii2 gallery image manager