omarsoufiane / PrestaImageBundle

Allow to crop local and remote image before uploading them through a classic form.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PrestaImageBundle

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads

Overview

PrestaImageBundle is a Symfony bundle providing tools to resize local/remote images before uploading them through a classic form. It uses Cropper jQuery plugin.

Installation

Require the bundle as a Composer dependency

php composer.phar require presta/image-bundle

Enable the bundles in the kernel

You must add the following bundles into app/AppKernel.php:

<?php

public function registerBundles()
{
    $bundles = [
        // ...
        new Vich\UploaderBundle\VichUploaderBundle(),
        new Presta\ImageBundle\ImageBundle(),
    ];
}

Configure the bundle

You must use the image_widget.html.twig form theme into app/config.yml.

twig:
    form_themes:
        - "PrestaImageBundle:form:image_widget.html.twig"

You must include the routing into app/config/routing.yml:

presta_image:
    resource: "@PrestaImageBundle/Resources/config/routing.yml"

See VichUploader documentation to configure the bundle.

Install assets

See Cropper quick start section to install assets.

Note that jQuery and Bootstrap are required.

Don't forget to include the following assets in your page:

  • /path/to/cropper/dist/cropper.min.css
  • /path/to/cropper/dist/cropper.min.js
  • @PrestaImageBundle/Resources/public/css/cropper.css
  • @PrestaImageBundle/Resources/public/js/cropper.js

Usage

Initialize cropper

(function(w, $) {

    'use strict';

    $(function() {
        $('.cropper').each(function() {
            new Cropper($(this));
        });
    });

})(window, jQuery);

Contributing

Pull requests are welcome.

Thanks to everyone who has contributed already.


This project is supported by PrestaConcept

Lead Developer : @J-Ben87

Released under the MIT License

About

Allow to crop local and remote image before uploading them through a classic form.


Languages

Language:PHP 39.1%Language:JavaScript 33.3%Language:HTML 20.6%Language:CSS 6.9%