2017 © Pedro Peláez
 

yii2-extension images

yii2 images module for storing images

image

legront/images

yii2 images module for storing images

  • Saturday, February 25, 2017
  • by LeGront
  • Repository
  • 1 Watchers
  • 0 Stars
  • 31 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 80 Forks
  • 0 Open issues
  • 9 Versions
  • 0 % Grown

The README.md

yii2-images

Yii2-images is yii2 module that allows to attach images to any of your models, next you can get images in any sizes, also you can set main image of images set., (*1)

Module supports Imagick and GD libraries, you can set up it in module settings., (*2)

Usage instance:

$model = Model::findOne(12); //Model must have id

//If an image is first it will be main image for this model
$model->attachImage('../../image.png');

//But if you need set another image as main, use second arg
$model->attachImage('../../image2.png', true);

//get all images
$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');
}

//Returns main model image
$image = $model->getImage();

if($image){
    //get path to resized image 
    echo $image->getPath('400x300');

    //path to original image
    $image->getPathToOrigin();

    //will remove this image and all cache files
    $model->removeImage($image);
}

Details

  1. Get images, (*3)

    $model->getImage(); //returns main image for model (first added image or setted as main)
    
    $model->removeImages(); //returns array with images
    
    //If there is no images for model, above methods will return PlaceHolder images or null
    //If you want placeholder set up it in module configuration (see documentation)
    
    
  2. Remove image/images, (*4)

    $model->removeImage($image); //you must to pass image (object)
    
    $model->removeImages(); //will remove all images of this model
    
  3. Set main image, (*5)

    $model->attachImage($absolutePathToImage, true); //will attach image and make it main
    
    foreach($model->getImages() as $img){
        if($img->id == $ourId){
            $model->setMainImage($img);//will set current image main
        }
    }
    
  4. Get image sizes, (*6)

    $image = $model->getImage();
    $sizes = $image->getSizesWhen('x500');
    echo '<img width="'.$sizes['width'].'" height="'.$sizes['height'].'" src="'.$image->getUrl('x500').'" />';
    
  5. Get original image, (*7)

    $img = $model->getImage();
    echo $img->getPathToOrigin();
    

Installation

  1. Add Yii2-images to the require section of your composer.json file:
       {
            "require": {
                "integready/yii2-images": "dev-master"
            }
       }
    
  1. run
      php composer.phar update
    
  1. run migrate
    php yii migrate/up --migrationPath=@vendor/integready/yii2-images/migrations
    
  1. setup module, (*8)

    'modules' => [
            'yii2images' => [
                'class' => 'integready\yii2images\Module',
                //be sure, that permissions ok
                //if you cant avoid permission errors you have to create "images" folder in web root manually and set 777 permissions
                'imagesStorePath' => '@frontend/web/images/store', //path to origin images
                'imagesCachePath' => '@frontend/web/images/cache', //path to resized copies
                'graphicsLibrary' => 'GD', //but really its better to use 'Imagick'
                'imageDomain' => 'http://static.mysite.com/images/cache/',
    //            'placeHolderPath' => '@webroot/images/placeHolder.png', // if you want to get placeholder when image not exists, string will be processed by Yii::getAlias
            ],
        ],
    
  2. attach behaviour to your model (be sure that your model has "id" property), (*9)

        public function behaviors()
        {
            return [
                'image' => [
                    'class' => 'integready\images\behaviors\ImageBehave',
                ]
            ];
        }
    

Thats all!, (*10)

The Versions

25/02 2017

dev-master

9999999-dev

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by IntegReady

yii2 store images images store yii2-images

25/02 2017

1.0.6

1.0.6.0

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by IntegReady

yii2 store images images store yii2-images

25/02 2017

dev-20170225-dev-Code_refactor

dev-20170225-dev-Code_refactor

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by IntegReady

yii2 store images images store yii2-images

20/04 2016

1.0.5

1.0.5.0

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Rob Rhyne

yii2 store images images store yii2-images costa rico

27/10 2014

1.0.4

1.0.4.0

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Costa Rico

yii2 store images images store yii2-images costa rico

11/08 2014

1.0.3

1.0.3.0

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Costa Rico

yii2 store images images store yii2-images costa rico

09/08 2014

1.0.2

1.0.2.0

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Costa Rico

yii2 store images images store yii2-images costa rico

22/07 2014

1.0.1

1.0.1.0

yii2 images module for storing images

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Costa Rico

yii2 store images images store yii2-images costa rico

17/07 2014

1.0.0

1.0.0.0

test

  Sources   Download

MIT

The Requires

 

The Development Requires

by Costa Nevazno

costa rico