Back to top
ciao ho aggiornato virtuemart alla versione 1.0.13a....la v3 va ancora bene?
yes nessun cambiamento a quei file. ciao
Ciao thepisu e subito grazie per il file che alleghi.Notavo che nella pagina di info per la spedizione (account.shipto.php) non carica le province italiane e ripete la richiesta di CF e PIVA. Sbaglio qualcosa io o e' una dimenticanza?Grazie e ciao, Marco.
ciao ho controllato tra i file dell'aggiornamento da 1.0.12 a 1.0.13a di virtuemart e ho notato che c'è anche account.billing.phpcosa faccio lo sovrascrivo con quello della v3?
Citazione da: masada - 15 Nov 2007, 11:32:12Ciao thepisu e subito grazie per il file che alleghi.Notavo che nella pagina di info per la spedizione (account.shipto.php) non carica le province italiane e ripete la richiesta di CF e PIVA. Sbaglio qualcosa io o e' una dimenticanza?Grazie e ciao, Marco.Per le province trovi qui la risposta:http://forum.joomla.it/index.php/topic,29923.msg129340.html#msg129340Invece cosa intendi "ripete la richiesta di CF e PIVA"? Non capisco...Ok, non mi sono espresso bene. Il file delle province l'avevo gia' caricato e nel form del billing, nella tendina delle province, si vedono. Non le carica invece (si vedono solo gli stati americani) in quello di spedizione (shipto.php) ed in piu' ripete i campi codice fiscale e partita iva anche se non servono.Grazie e ciao, Marco.
ho aggiornato i due files dal download controllo_PIVA_CF_v3.zipho aggiornato i due files dal download ordine_PI_CF.zipho aggiornato il dizionario ma al momento della registrazione utente i campi richiesti son sempre:nome*user*indirizzo mail*password*e codice fiscale e partita iva?aiuto!!! torno indietro?grazie nix
So che di questo argomento se ne è già abbondantemente parlato, ma cerco di dare il mio contributo. In realtà ad ora è inutile perderci troppo tempo, perchè con la futura versione 1.1 il sistema di registrazione / dati utente è cambiato, e sarà molto più flessibile... Nell'attuale versione ufficiale con language pack italiano, la partita iva ed il codice fiscale sono collegati ai campi EXTRA_FIELD_1 e EXTRA_FIELD_2, visto che questi campi serviranno nella maggior parte dei casi; mi sono però posto il problema di renderli obbligatori in fase di registrazione, nello specifico per le aziende P.IVA e codice fiscale, e per i privati solo il codice fiscale (in base al fatto che il campo "Azienda" sia compilato o meno); inoltre ho aggiunto anche un controllo di correttezza su entrambi i campi (non verifica i dati del cliente ma solo il codice di controllo, per evitare errori di battitura).Per fare questo ho modificato il file htmlTools.class.php, nella cartella administrator\components\com_virtuemart\classes (che allego).Basta quindi scomprimere il file allegato e metterlo in quella cartella; la versione VM di riferimento è la 1.0.11. Personalmente non penso che ce ne saranno altre della serie 1.0.x, almeno non importanti... Vedremo poi come modificare questo "hack" con il nuovo sistema della 1.1.x.A chi interessasse la parte "tecnica", ho agito sulla funzione printJS_formvalidation, aggiungendo anzitutto in output le seguenti funzioni Javascript:Codice: [Seleziona] function vm_isCF(cf) { var validi, i, s, set1, set2, setpari, setdisp; if( cf == "" ) return ""; cf = cf.toUpperCase(); if( cf.length != 16 ) return false; validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for( i = 0; i < 16; i++ ){ if( validi.indexOf( cf.charAt(i) ) == -1 ) return false; } set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; s = 0; for( i = 1; i <= 13; i += 2 ) s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); for( i = 0; i <= 14; i += 2 ) s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); if( s%26 != cf.charCodeAt(15)-"A".charCodeAt(0) ) return false; return true; } function vm_isPartitaIva(piva) { if (piva.length!=11) { return false; } var contributo = new Array(0,2,4,6,8,1,3,5,7,9); var somma = 0; for (i=0;i<11;i++) { if (i%2==0) { somma += parseInt(piva.charAt(i)); } else { var cifra = parseInt(piva.charAt(i)); somma += contributo[cifra]; } } if (somma%10==0) return true; else return false; }Quindi, ho aggiunto i seguenti controlli Javascript:Codice: [Seleziona] if (form.extra_field_1!=null && form.extra_field_2!=null) { if (form.company.value=="") { if (form.extra_field_2.value=="") { alert("Privato: inserire il proprio codice fiscale."); return false; } else { form.extra_field_2.value = form.extra_field_2.value.toUpperCase(); if (!vm_isCF(form.extra_field_2.value)) { alert("Privato: codice fiscale non corretto; controllare."); return false; } } } else { if (form.extra_field_1.value=="" || form.extra_field_2.value=="") { alert("Azienda: inserire partita IVA e codice fiscale."); return false; } else { form.extra_field_2.value = form.extra_field_2.value.toUpperCase(); if (!vm_isPartitaIva(form.extra_field_1.value)) { alert("Azienda: partita IVA non corretta; controllare."); return false; } if (!vm_isPartitaIva(form.extra_field_2.value) && !vm_isCF(form.extra_field_2.value)) { alert("Azienda: codice fiscale non corretto; controllare."); return false; } } } }20/07/2007: Allegato versione aggiornata (v3) per attivare il controllo anche nella modifica dati tramite la gestione account VirtueMart.
function vm_isCF(cf) { var validi, i, s, set1, set2, setpari, setdisp; if( cf == "" ) return ""; cf = cf.toUpperCase(); if( cf.length != 16 ) return false; validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for( i = 0; i < 16; i++ ){ if( validi.indexOf( cf.charAt(i) ) == -1 ) return false; } set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; s = 0; for( i = 1; i <= 13; i += 2 ) s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); for( i = 0; i <= 14; i += 2 ) s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); if( s%26 != cf.charCodeAt(15)-"A".charCodeAt(0) ) return false; return true; } function vm_isPartitaIva(piva) { if (piva.length!=11) { return false; } var contributo = new Array(0,2,4,6,8,1,3,5,7,9); var somma = 0; for (i=0;i<11;i++) { if (i%2==0) { somma += parseInt(piva.charAt(i)); } else { var cifra = parseInt(piva.charAt(i)); somma += contributo[cifra]; } } if (somma%10==0) return true; else return false; }
if (form.extra_field_1!=null && form.extra_field_2!=null) { if (form.company.value=="") { if (form.extra_field_2.value=="") { alert("Privato: inserire il proprio codice fiscale."); return false; } else { form.extra_field_2.value = form.extra_field_2.value.toUpperCase(); if (!vm_isCF(form.extra_field_2.value)) { alert("Privato: codice fiscale non corretto; controllare."); return false; } } } else { if (form.extra_field_1.value=="" || form.extra_field_2.value=="") { alert("Azienda: inserire partita IVA e codice fiscale."); return false; } else { form.extra_field_2.value = form.extra_field_2.value.toUpperCase(); if (!vm_isPartitaIva(form.extra_field_1.value)) { alert("Azienda: partita IVA non corretta; controllare."); return false; } if (!vm_isPartitaIva(form.extra_field_2.value) && !vm_isCF(form.extra_field_2.value)) { alert("Azienda: codice fiscale non corretto; controllare."); return false; } } } }
CIAO THEPISU!Una domanda stupidissima: come faccio, dopo aver sovrascritto con i tuoi file, ad abilitare la registrazione di un nuovo utente escludendo il modulo normale di Joomla?Perchè ho fatto tutto ma se clicco su "Registrazione" mi fa apparire sempre gli stessi campi di Joomla e non la selezione di Privato o Azienda.Grazie in anticipo per la risposta MAGNA ad una domanda stupida :-)
Copyleft: Tutto il materiale pubblicato o comunque presente all'interno del sito www.joomla.it può essere utilizzato, diffuso e modificato liberamente. Hosting fornito gratuitamente da Joomlahost.it Disegno web da kreatif multimedia srl