Besoin d'aide pour adapter ce module à mes besoins

Bonjour,

je crée un formulaire pour inserer un node contenant une ou plusieurs images. Je veux que lors de l'upload de l'image, il y est automatiquement un preview d'effectué. J'ai trouver un module ajax_pic_preview (j'ai mis le fichier module et le fichier js en pièce jointe) qui fait ce que je veux mais que pour le formulaire de profil. J'essai donc de l'adapter pour mon formulaire. L'upload se fait bien mais le tumb de l'image ne s'affiche pas! Quelqu'un saurait il pourquoi?

<?php
//création du formulaire
function annoncimmo_pro_form(&$node) {
   
$type = node_get_types('type', $node);
//j'ajoute les drupal_add_js directement dans le form car en remplacant "user_profile_form" par "node-form" dans le form_alter cela ne fonctionne pas!
drupal_add_js(drupal_get_path('module', 'ajax_pic_preview') .'/ajaxfileupload.js');
drupal_add_js('js/ajax_pic_preview_js', 'module', 'footer', TRUE, FALSE);
   
   
//champs standards
   
$form['title'] = array (
       
'#type' => 'textfield',
       
'#title' => check_plain($type->title_label),
       
'#description' => t('Le titre peut contenir le type de bien (ex: Maison a vendre...)'),
       
'#default_value' => $node->title,
       
'#required' => TRUE
   
);
   
$form['body'] = array (
       
'#type' => 'textarea',
       
'#title' =>  t('Description du bien'),
       
'#description' => t('Mettez autant d\'informations que possible concernant ce bien (nb de pi&egrave;ce, surface, terrain, ...)'),
       
'#default_value' => $node->body,
       
'#rows' => 20,
       
'#required' => TRUE
   
);
   
$form['filter'] = filter_form($node->format);
   
   
//champs personnalisés
   
$form['annonce_prix'] = array (
       
'#type' => 'textfield',
       
'#title' => t('Prix du bien'),
       
'#default_value' => $node->annonce_prix,
       
'#description' => t('Saisissez le prix du bien'),
       
'#required' => TRUE
   
);
   
$form['annonce_surface'] = array (
       
'#type' => 'textfield',
       
'#title' => t('Surface du bien'),
       
'#default_value' => $node->annonce_surface,
       
'#description' => t('Saisissez la surface totale du bien'),
       
'#required' => TRUE
   
);
   
$form['annonce_pieces'] = array (
       
'#type' => 'textfield',
       
'#title' => t('Nombre de pieces'),
       
'#default_value' => $node->annonce_pieces,
       
'#description' => t('Saisissez le nombre de pi&egrace;ces'),
       
'#required' => TRUE
   
);
   
$form['annonce_type'] = array (
       
'#type' => 'select',
       
'#title' => t('Type de bien'),
       
'#default_value' => $node->annonce_type,
       
'#options' => array(
           
'Maison' =>'Maison',
           
'Appartement' =>'Appartement',
           
'Terrain' =>'Terrain'
           
),
       
'#description' => t('S&eacute;lectionnez le type de bien'),
       
'#required' => TRUE
   
);
   
$form['annonce_categorie'] = array (
       
'#type' => 'select',
       
'#title' => t('Cat&eacute;gorie'),
       
'#default_value' => $node->annonce_categorie,
       
'#options' => array(
           
'Vente' =>'Vente',
           
'Location' =>'Location',
           
'Viager' =>'Viager'
           
),
       
'#description' => t('S&eacute;lectionnez la cat&eacute;gorie'),
       
'#required' => TRUE
   
);
   
$form['annonce_cp'] = array (
       
'#type' => 'textfield',
       
'#title' => t('Code postal du bien'),
       
'#default_value' => $node->annonce_cp,
       
'#description' => t('Saisissez le code postal'),
       
'#required' => TRUE
   
);
   
$form['annonce_ville'] = array (
       
'#type' => 'textfield',
       
'#title' => t('Ville du bien'),
       
'#default_value' => $node->annonce_ville,
       
'#required' => TRUE
   
);

   
//champs images
//j'ai recopier le code qui se trouve dans le module user de drupal.

$form['picture'] = array('#type' => 'fieldset', '#title' => t('Picture'), '#weight' => 1);
  
//c'est surement la que ca bloque, j'ai essayé pas mal de chose mais toujoutrs le meme résultat! (J'ai également recopier le theme user_picture du module user)
$picture = theme('user_picture', (object)$edit);

    if (
$edit['picture']) {
     
$form['picture']['current_picture'] = array('#value' => $picture);
     
$form['picture']['picture_delete'] = array('#type' => 'checkbox', '#title' => t('Delete picture'), '#description' => t('Check this box to delete your current picture.'));
    }
    else {
     
$form['picture']['picture_delete'] = array('#type' => 'hidden');
    }
   
$form['picture']['picture_upload'] = array('#type' => 'file', '#title' => t('Upload picture'), '#size' => 48, '#description' => t('Your virtual face or picture. Maximum dimensions are %dimensions and the maximum size is %size kB.', array('%dimensions' => variable_get('user_picture_dimensions', '85x85'), '%size' => variable_get('user_picture_file_size', '30'))) .' '. variable_get('user_picture_guidelines', ''));
   
$form['#validate'][] = 'user_profile_form_validate';
   
$form['#validate'][] = 'user_validate_picture';
 
//}
 
$form['#uid'] = $uid;

   
$form['#attributes']['enctype'] = 'multipart/form-data';
return
$form;
?>
Fichier attachéTaille
ajax_pic_preview.txt5.58 Ko
ajaxfileupload.txt6.73 Ko
Forum :