Form con possibilità di allegare file

7 contenuti / 0 new
Ultimo contenuto
Form con possibilità di allegare file

salve a tutti,
in un mio modulo implementato con le form API vorrei poter aggiungere uno o più file allegati, con la possibilità di eliminare e riordinare gli allegati stessi.....

il mio obbiettivo è avere qualcosa di simile al field_file del core di drupal, è possibile visualizzare il suo codice???

Per utenti imbranati :) ho fatto anche io qualcosa del genere con i contenuti

Con questo modulo

----------------------------------------
bI’Iqchugh’ yIvang !
Se sei triste, agisci!

Proverbio Klingon

non è compatibile con drupal 7!!!!!

il codice delle mia form l'ho scritto io!!!!!
nessuno ha scritto codice per allegare uno o più file????

Si che è combatibile con D7 guarda bene ........... dev. ma funziona lostesso.

Perchè scrivere un nuovo modulo ...quando ci sono parecchi ..basta cercarli

----------------------------------------
bI’Iqchugh’ yIvang !
Se sei triste, agisci!

Proverbio Klingon

deve scrivere un mio modulo per memorizzare tutti i dati (file compresi) in un mio database e non in quello di drupal!!!!

mmmm no.....
voglio fare qualcosa di più o meno simile (non ho ancora implementato la possibilità di ordinare gli allegati)

ma mi da questo Warning

Warning: mb_strlen() expects parameter 1 to be string, array given in drupal_strlen() (linea 441 di /var/www/drupal-7.7/includes/unicode.inc).

<?php
 
function mio_form($form, &$form_state) {
       
$form['#attributes']['enctype'] = 'multipart/form-data';
       
$form['gruppo'] = array(
           
'#type' => 'fieldset',
           
'#title' => t('fieldset'),
           
'#collapsible' => TRUE,
           
'#collapsed' => FALSE,
           
'#prefix' => '<div id="gruppo-wrapper">',
           
'#suffix' => '</div>',
        );
        if (empty(
$form_state['numero'])) {
           
$form_state['numero'] = 1;
        }
        for (
$a = 0; $a < $form_state['numero']; $a++) {
           
$form['gruppo']['NomeLink'][$a] = array(
                   
'#type' => 'textfield',
                   
'#title' => t('Nome link '),
           );
            
$form['gruppo']['file_upload'][$a] = array(
               
'#title' => t('Allega file'),
               
'#type' => 'managed_file',
            );
        }
       
$form['gruppo']['add'] = array(
           
'#type' => 'submit',
           
'#value' => t('Allega un altro file'),
           
'#submit' => array('addmore_add_one'),
           
'#ajax' => array(
             
'callback' => 'addmore_callback',
             
'wrapper' => 'gruppo-wrapper',
        ),
        );
        if (
$form_state['numero'] > 1) {
           
$form['gruppo']['remove'] = array(
             
'#type' => 'submit',
             
'#value' => t('Rimuovi file'),
             
'#submit' => array('addmore_remove_one'),
             
'#ajax' => array(
               
'callback' => 'addmore_callback',
               
'wrapper' => 'gruppo-wrapper',
            ),
            );
        }
       
$form['submit'] = array(
             
'#value' => t('Invia'),
             
'#type' => 'submit',
        );
        return
$form;
    }
    function
addmore_callback($form, $form_state) {
        return
$form['gruppo'];
    }
    function
addmore_add_one($form, &$form_state) {
       
$form_state['numero']++;
       
$form_state['rebuild'] = TRUE;
    }
    function
addmore_remove_one($form, &$form_state) {
        if (
$form_state['numero'] > 1) {
           
$form_state['numero']--;
        }
       
$form_state['rebuild'] = TRUE;
    }
 
?>