Ho provato ad aggiungere prima del "save the model "
// perform ajax validation
$this->performAjaxValidation($ajax_validation);
// check if an additional profile model form was sent
if ($form = array_intersect_key($_POST, array_flip($profiles))) {
$model_name = key($form);
$form_values = reset($form);
// load the form values into the model
$profile_models[$model_name]->attributes = $form_values;
$profile_models[$model_name]->ug_id = $id;
//upload image
//nn so cosa mettere al posto di profile
if(@$_FILES["profile"]["name"]["Avatar"]) {
if (CUploadedFile::getInstance($profile_models[$model_name], 'Avatar') != "") {
$profile_models[$model_name]->Avatar = CUploadedFile::getInstance($profile_models[$model_name], 'Avatar');
$profile_models[$model_name]->Avatar->saveAs(Yii::app()->basePath . "/images/moto_".($profile_models[$model_name]->id));
$profile_models[$model_name] = Yii::app()->image->load(Yii::app()->basePath . "/images/moto_".($profile_models[$model_name]->id));
$profile_models[$model_name]->resize(179, 179);
$profile_models[$model_name]->Avatar = 1; // in questo modo leggendo il DB so se c'è l'immagine
}
}
ciao, come ti ho già detto in privato devi utilizzare le profile extensions supportate dal modulo stesso per estendere il profilo.
L’unica cosa è che per gestire l’upload di file, in questo caso immagini, ti conviene utilizzare un controller tuo invece di quello di default di userGroups.
certo potresti modificare quello di base come hai fatto tu, ma al primo aggiornamento perderesti tutte le modifiche, motivo per cui ho implementato le profile extensions.
comunque sia al momento devo uscire quindi non posso darti del codice di esempio, ma domani non ho problemi ad aiutarti.
sto finendo di sistemare roba per la release che dovrei rilasciare oggi, appena finisco ti scrivo esattamente come fare, ad ogni modo ti basta creare un controller nel quale mettere l’azione di upload normale, e richiamare quello dal form, nè più nè meno.
duma ho caricato nella pagina del modulo un file (userExtension.tgz) contenente un esempio di un estensione… è il fantomatico profile che già avevi visto, l’ho tuttavia esteso e aggiunto la possibilità di fargli caricare in upload un file immagine…
tieni a mente che si tratta di un esempio e non dovrebbe per tanto essere messo così com’è in un lavoro in produzione.
dimenticavo, mi pare di non averlo scritto nelle istruzioni, ma bisogna creare una cartella avatars nella root dell’applicazione, visto che è lì che l’esempio salva le immagini