Bonjour,

Je me suis cassé la tête sur un probleme de croping de l'image dans le plugin Media du tuto du meme nom.

Apres débug, je m'appercois que dans mediasController
$file ne prends pas en compte le repertoire "img" et commence tout de suite avec uploads.
ce qui fait qu'il ne trouve pas les fichiers...

Le code originale

function crop() {

        if (!isset($this->request->params'file'])) {
            die();
        }
        extract($this->request->params);
        $file = trim($file, '/');

        $file = str_replace('.', '', $file);
        $size = explode('x', $format);

        $images = glob(WWW_ROOT . $file . '.*');

j'ai ajouté 'img' manuellement et cela marche, mais peut etre que j'ai raté une configuration dans mon routes.php
code modifié :

$images = glob(WWW_ROOT . 'img/'.$file . '.*');

        $dest = WWW_ROOT . 'img/'.$file . '_' . $format . '.jpg';

En tout cas mon routes.php est configuré comme ceci

Router::connect('/img/:file_:format.jpg', 
        array(
            'controller'=>'medias', 'action'=>'crop','plugin'=>'media'
        ),
        array(
            'file' => 'uploads\/([0-9]{4})\/([0-9]{2})\/^\/]+',
            'format'=>'126x126|200x200'
        )
    );

et mon bootstrap

CakePlugin::loadAll(
    array(
        'Media' => array(
            'routes' => false
            )
    ));

(ici j'ai bien essayer de mettre routes a true, mais cela ne marche plus du tout

1 réponse


Merci beaucoup pour votre aide.

et j'ajoute que j'ai ajouté img dans le model

class MediaBehavior extends ModelBehavior{

private $options = array(
'path' => 'img/uploads/%y/%m/%f',
'formats' => false
);