Nuovi aggiornamenti: a quando l'invio multiplo di file ?
Autore: Fabrizio Ciccarelli
Visite 1179,
Followers 2,
Condiviso 0
I Ringrazio Incomedia per aggiornare costantemente il software e risolvere i vari problemi. C'è un problema però che attanaglia questo software da anni ed è il caricamento multi-file già segnalato diverse volte.
Chiedo una cosa: è davvero una modifica impossibile da fare?
Postato il
Buongiorno Fabrizio
Solo per essere sicuro di segnalare eventualmente la cosa in maniera corretta, ti chiedo. Cosa intendo nello specifico?
Intendi per esempio che sia possibile caricare più file da un campo solo in un Form Contatti?
Resto a disposizione
Stefano
Autore
Ciao Stefano, l'elemento allegato non viene solo utilizzato in un form "contatti". Forse questo è un limite di Incomedia e proprio per questo non si è mai fatto nulla per il caricamento di multi-file; intendo quella possibilità per l'utente, di poter selezionare più file contemporaneamente ed allegarli al modulo creato.
Giusto per poter rendere ancora l'idea, posso inoltrare un link? Mi ricordi come posso fare per scriverlo nel forum?
Non so se ho capito... ma se intendi scrivere un link qui su un Post, basta scriverlo semplicemente, o con copia incolla...
Autore
Ecco il link: https://www.cafonline.eu/sw52aw8gzg9jdw1lbnrhbgugq2f0yxn0ywxl.html
Da questa pagina è possibile comprendere quanto sia indispensabile allegare più file contemporaneamente con l'oggetto "Allegato" che non viene solo utilizzato per un semplice form di contatto.
Ciao Fabrizio,
per chiarire la cosa, tuo vorresti fosse possibile caricare più di un file come allegato in un Modulo Contatti?
Ad esempio:
Autore
Sto sbavando solo a vedere lo scrennshot. Sì, sono anni che declamo tale accorgimento.
Di base è necessario un codice HTML:
<inputtype="file"id="yourInputId" multiple="multiple">
Concordo sulla necessità d'inserire questa opzione. A oggi il modulo di contatto è un oggetto largamente usato e di vitale importanza per i siti, ma purtoppo è restato poco aggiornato.
In attesa che tale funzione venga introdotta ufficialmente, sperando di fare cosa gradita, ti posto un codice che di base inserisce l'attributo nell'HTML.
Codice:
<script>var input = document.getElementById("yourInputId"); input.setAttribute("multiple", "multiple"); </script>
Dovrai ispezionare il codice del tuo sito e modificare l'ID con quello effettivo. Provato al volo su un Template e funziona.
Esempio:
Spero ti possa essere utile il codice JavaScript. Nel tuo sito l'ID dovrebbe essere imObjectForm_13_9. Ricorda che JavaScript è "non vedente" sotto di lui, ergo non riesce a modificare la struttura se l'HTML si trova sotto il codice. Dovrei metterlo nel footer o in un oggetto HTML sotto il form o a fine pagina.
Autore
Tra poco lo proverò. Se lo metto nel footer dovrebbe funzionare con tutte le pagine o mi sbaglio? Di pagine come quelle che hai esaminato ce ne sono circa una cinquantina; l'id resta uguale?
Lo script postato agisce sull'ID dell'input, ergo è specifico per l'oggetto nella pagina X. L'ID di norma è univoco, sarebbe preferibile usare sempre l'ID univoco per avere maggior controllo, ovvero poter scegliere in quale campo far allegare più documenti.
È preferibile inserire il codice nel footer della pagina dove usi il form.
Autore
Come faccio ad impostare l'id univoco per tutte le pagine?
Il footer non è quella parte alta del sito uguale a tutte le pagine? Lo configuro difatti nel passaggio 2 del software. Come faccio ad inserirle nel footer del pagina dove uso il form?
Non puoi impostare un ID univoco per tutte le pagine, in quanto esso viene dato in automatico da WebSite X5.
Il footer è la parte "bassa", derivazione inglese del termine, tradotto letteralmente significa "piè di pagina".
Se ti rechi nello Step 3, selezionando la pagina specifica, cliccando la voce Proprietà > Esperto > Prima della chiusura del tag BODY.
O più semplicemente inserendo un oggetto Codice HTML nella pagina dove mettere il codice.
Autore
Gabriele mi sto confondendo sempre di più. Tu prima hai scritto che l'ID di norma è univoco, sarebbe preferibile usare sempre l'ID univoco per avere un maggior controllo, ovvero poter scegliere in quale campo far allegare più documenti. Io ho bisogno che in tutti i campi ci sia questa funzione. Ma è mai possibile che Incomedia non si curi di una funzione così basilare? Ma poi questo ID dove lo trovo?
Autore
Ho trovato l'id ispezionando la pagina ma questo cambia per ogni campo. I campi fatto parte della stessa pagina anche se quando si clicca su avanti sembra che si cambia pagina. Per rendere meglio l'idea posto le foto di come è composta la pagina e come si compone l'oggetto modulo.
Autore
Ho provato a capirci qualcosa e ho fatto come hai detto: ho creato il codice html e inserito sotto al modulo.
Questo è il link della pagina: https://www.cafonline.eu/sw52aw8gzg9jdw1lbnrhbgugsvnfrsbdquygt25maw5l.html
Questo è il codice HTML:
<script>
var input = document.getElementById("imObjectForm_13_4");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_5");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_37");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_41");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_43");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_44");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_45");
input.setAttribute("multiple", "multiple");
</script>
<script>
var input = document.getElementById("imObjectForm_13_66");
input.setAttribute("multiple", "multiple");
</script>
Ovviamente ho applicato il codice nei campi più opportuni tralasciando gli altri.
Apparentemente sembra funzionare ma quando invio il modulo mi arriva per email solo il secondo file che ho allegato: ad esempio se in una stringa multifile allego i file 1 e 2, mi arriva per email solo il 2.
Adesso cancello il codice HTML dal sito poiché non posso lasciarlo se non funziona correttamente. Potresti fare una prova su un sito test.
Eccomi Fabrizio, chiedo venia, ma lavorando la mattina seguo poco la community.
Ricapitolando, il codice che ti ho fornito prima è specifico per andare a modificare un solo campo e solo quello, in base all'ID. Questo perché in base alle necessità può essere comodo modificare in singolo campo e non tutto il form.
Su base "informativa" nelle strutture HTML l'ID è e dovrebbe essere sempre univoco in quanto serve per selezionare uno specifico elemento etc.. Questo è quanto so per background personale.
Se invece vuoi modificare tutti i campi, si può fare una rivisitazione del codice:
<script> var inputs = document.querySelectorAll('input[type="file"]'); inputs.forEach(function(input){input.setAttribute("multiple", "multiple"); }); </script>
In questo esempio, viene utilizzato il metodo querySelectorAll per selezionare tutti gli elementi input di tipo "file". Ergo, viene utilizzato il metodo forEach per iterare su ogni elemento input e impostare l'attributo "multiple" tramite il metodo setAttribute.
Provato e funzionante:
Capisco. Mi dispiace Fabrizio. Qui andrebbe visto il PHP e riscrivere il codice di gestione.
La cosa pare diventi nettamente complicata.
Autore
Lo sapevo, tocca arrendermi di nuovo. Ci eri arrivato vicino.
Se vado nello Step 3, selezionando la pagina specifica, cliccando la voce Proprietà > Esperto > trovo "Estensione del file generato": html no PHP
questo pregiudica in qualche modo la funzione?
Autore
Le sto provando tutte ma non funziona. Anche il tuo secondo codice, quello che modifica l'intero modulo apparentemente funziona ma poi quando invio mi arrivano solo gli ultimi file allegati. Se ad esempio nella prima stringa allego i file 1, 2 e 3 mi arriva solo il file 3.
Mi dispiace. Abituato a usare strutture a se stanti non ho pensato alle limitazioni via PHP.
No, perché il file PHP della gestione è richiamato da JavaScript all'invio del form. Ho visto il file PHP di un form di test sul mio sito è a occhio non è possibile farlo senza stravolgere il codice.
Se non erro andrebbe editata la riga $fileResult stravolgendo di fatto la struttura con un ciclo for per gestire l'upload di più file.
es.
$attachments = $FILES['attachments']; for ($i = 0; $i < count($attachments['name']); $i++) { $fileResult = $form->setFile('Attachments', array( 'name' => $attachments['name'][$i], 'tmp_name' => $attachments['tmp_name'][$i], 'size' => $attachments['size'][$i], 'error' => $attachments['error'][$i], 'type' => $attachments['type'][$i] ), $imSettings['General']['public_folder'], 'attachments' . $i, ''); }
Spiacente non poterti aiutare meglio. Non ti consiglio di editare il file PHP perché rischi di avere problemi poi di ricezione. Meglio avere un form limitato, che non funzionante.
La sola idea che mi viene senza codici, è quella di scrivere un'indicazione, per chi ha la necessità di allegare più file, di generare un file zip. In alternativa gli puoi indicare wetransfer e farti postare direttamente il link.
Non funzionerà mai purtroppo. Il codice JavaScript abilita solo la possibilità di caricare più file.
Il problema è che non c'è poi una gestione via PHP per tali file perché non usa una matrice. Diciamo è come avere una macchina ma senza motore, non parte.
Non resta che sperare in una implementazione da parte di Incomedia.
Autore
Grazie per la tua spiegazione. Sono anni che lo chiedo a Incomedia nonostante utilizzo questo software da 14 anni con tanto di licenze ,sembra che questa sia una funzione che non interessi a nessuno o sia di una difficoltà insormontabile.
Figurati.
Ovviamente diventa articolato se si pensa che poi il codice deve essere mantenuto e adattato. Ancora più articolato se pensiamo che gli oggetti di Incomedia poi devono riadattarsi ai nostri siti con codici e strutture preesistenti.
Certamente condivido il pensiero. Purtroppo ci sono funzioni degli oggetti che sono eccessivamente arretrate. Anche io vorrei poter consentire di allegare più file.
Di fatto questo post concettualmente si collega alle limitazioni del form (Rif.to https://helpcenter.websitex5.com/it/post/256441)
Buongiorno Fabrizio
Ho impostato il tuo topic come Idea, così da mantenere la richiesta evidenziata.
Il software si è evoluto molto rispetto a quando la richiesta è stata fatta la prima volta, quindi è plausibile che possa venir ripresa in considerazione in caso al tempo fosse stata scartata per limiti tecnici
In caso di novità, ti terrò aggiornato qui
Stefano
Autore
Ciao Stefano, ogni volta che la propongo questa possibilità viene poi impostata come idea. La speranza è l'ultima a morire. Io auspico che vi rendiate conto di quanto sia obsoleto un software senza una funzione così basilare.