[RISOLTO] Errore con estensione "Image"

Qualcuno mi saprebbe dire cosa può generare questo errore:

Image and its behaviors do not have a method or closure named "resize".

Tale estensione l’ho già installata in altra applicazione e funziona perfettamente, non riesco a capire cosa succede in questo caso

Questa è la parte nel Controller in cui chiamo il resize


public function actionUpdate($id)

  {

...

  $thumb = Yii::app()->image->load($imageLocation.$finalName);

  $thumb->resize(200, 100);

  $thumb->save();

...

}

Grazie

Hai impostato correttamente il file di configurazione affinché "veda" il modulo image?

Grazie Senso per la risposta.

Penso di averlo impostato correttamente, visto e rivisto mille volte:


...

'import'=>array(

...

     'application.helpers.*', // ESTENSIONE IMAGE

...

),

...

'components'=>array(

...

     // ESTENSIONE IMAGE

     'image'=>array(

     'class'=>'application.extensions.image.CImageComponent',

     // GD or ImageMagick

     'driver'=>'GD',

     // ImageMagick setup path

     'params'=>array('directory'=>'/extensions/image/drivers/'),

     ),

     // end ESTENSIONE IMAGE

...

),

...

Provato a riscaricare l’estensione e reinstallare, ma nulla…

Anch’io uso Image, e funziona bene. La tua chiamata a resize è corretta. Nella configurazione è inutile specificate il path verso Imagemagik dato che usi GD: io lo toglierei. Controlla anche di non avere da qualche parte un altro modulo che si chiama Image…

… spiacente di non avere idee migliori…

Grazie Alichin, ho controllato ma nulla… grazie lo stesso

Sembra tutto corretto.

Ti proporrei di fare un pò di debug. Puoi provare a modificare il controller in questo modo…




$thumb = Yii::app()->image->load($imageLocation.$finalName);

print_r(get_class_methods($thumb)); exit();		

$thumb->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);

$thumb->save(); // or $image->save('images/small.jpg');



Dovrebbe restituirti qualcosa del genere…


Array([0] => factory [1] => __construct [2] => __get [3] => resize [4] => crop [5] => rotate [6] => flip [7] => quality [8] => sharpen [9] => save [10] => render)

Tra i metodi elencati dovrebbe esserci resize

Mi sorge un dubbio: avete sistemato per bene anche l’estensione CArray? Ricordo che ha un componente aggiuntivo Image che “a suo tempo” mi diede dei problemi. Mi confermate che lo avete installato? Se non ricordo male dovrebbe essere dentro alla cartella helpers quando si scarica l’estensione.

Grazie a tutti per il contributo.

Ho trovato il problema e mi sento un po’ un …

Alichin c’aveva praticamente pigliato

Nel controller al metodo actionUpdate($id)

poco prima del resize avevo la seguente riga che giustamente generava l’errore


$modelImage = new Image;

Image è il Model della tabella art_image nella quale salvo i dati delle immagini

Grazie ancora a tutti

Nella prossima versione di Yii avremo finalmente i namespace ed errori di questo tipo non ci dovrebbero più essere. Grazie a te per aver condiviso con noi.