MisterB Posted April 28, 2009 Share Posted April 28, 2009 Ciao a tutti, non ho capito molto di come si sviluppano moduli per prestashop però avevo bisogno di quanto scritto nel titolo!PROPOSITI:Fare in modo che quando un utente si registra esso non sia attivo e solo dopo che conferma la mail venga riconosciuto del sistema!SOLUZIONE:per la soluzione io ho modificato authentication.php che si trova nella root di prestashop, in particolare ho modificato la riga 111 inserendo una nuova destinazione. Non sono sicuro della corrispondenza della riga, cmq bisogna cercare dove viene creato l'account utente Module::hookExec('createAccount', array( '_POST' => $_POST, 'newCustomer' => $customer )); dopo di che normalmente il sistema fa un redirect su una variabile che si chiama $back, ed è qua che c'è la mia piccola modifica: Tools::redirect("wait_customer.php"); In questo modo andiamo in una pagina creata ad HOC per fare quello che ci serve, e nel particolare creeremo una pagina in root che si chiama wait_customer.php <?php $db_name = "nomedeldatabase"; // i dati si possono trovare in settings.inc.php $db_password = "password"; // i dati si possono trovare in settings.inc.php $db_host = "host"; // i dati si possono trovare in settings.inc.php $db_user = "user"; // i dati si possono trovare in settings.inc.php $db = mysql_connect($db_host,$db_user,$db_password); if (!$db) die ("ERRORE CONNESSIONE AL SERVER "); $select = mysql_select_db($db_name); if (!$select) die ("ERRORE SELEZIONE DB "); $dom = mysql_query("SELECT max(id_customer) FROM sdc_customer WHERE 1");// prendiamo l'ultimo id inserito (non è sicurissima come query), sdc va modificato con il prefisso della vostra tabella $ris = mysql_fetch_array($dom); $id_max = $ris[0]; mysql_query("UPDATE sdc_customer SET active = 0 WHERE id_customer = $risultato");//sdc va modificato con il prefisso delle vostre tabelle $dom = mysql_query("SELECT email, secure_key, lastname, firstname, date_add FROM sdc_customer WHERE id_customer = $id_max"); // questa query restituisce i dati per mandare la mail $ris = mysql_fetch_array($dom); $email = $ris[0]; $secure_key = $ris[1]; $lastname = $ris[2]; $firstname = $ris[3]; $data = $ris[4]; $soggetto = "Conferma registrazione per tuodominio.it [eCommerce]"; // prepariamo la mail $corpo_messaggio = " Benvenuto nell'eCommerce di TuoDominio, per confermare la tua registrazione è necessario che confermi il tuo indirizzo mail cliccando qui o copiando nella barra degli indirizzi il seguente collegamento: tuodominio/ecommerce/activation_user.php?cod=$secure_key Se non ti sei iscritto al nostro eCommerce ci scusiamo per il disturbo e vi chiediamo di ingnorare questa mail!"; $destinatario = $email; $tuoemail = "no_reply@tuodominio"; mail ("$destinatario", "$soggetto", "$corpo_mesaggio", "From: $tuoemail"); //inviamo la mail ?> A questo punto abbiamo l'utente non attivo a cui abbiamo mandato una mail per confermare, ora non ci resta che fare l'ultimo passo: attivare l'utente. per fare questo creiamo la pagina activation_user.php <?php $cod = $_GET['cod']; if ($cod == ""){ header("location:tuodominio"); die(); }else{ $db_name = "nomedeldatabase"; // i dati si possono trovare in settings.inc.php $db_password = "password"; // i dati si possono trovare in settings.inc.php $db_host = "host"; // i dati si possono trovare in settings.inc.php $db_user = "user"; // i dati si possono trovare in settings.inc.php $db = mysql_connect($db_host,$db_user,$db_password); if (!$db) die ("ERRORE CONNESSIONE AL SERVER "); $select = mysql_select_db($db_name); if (!$select) die ("ERRORE SELEZIONE DB "); mysql_query("UPDATE sdc_customer SET active = 1 WHERE secure_key = \"$cod\""); //sdc va modificato con il nome della vostra tabella header("location:tuodominio"); ?> [removed] window.alert("Il tuo account e' stato attivato"); [removed] <?php die(); } ?> Non so se è chiaro quello che ho fatto... rimango a disposizione per approfondimenti, suggerimenti o correzioni. Sarebbe comodo passare in get a wait_customer.php l'id del cliente inserito ma non sono riuscito a trovarlo al volo e ho una consegna a breve. sarebbe altrettanto bello fare un modulo, ma anche per questo al momento non ci capisco molto di tpl etc, a breve mi documenterò bene bene... ad ogni modo spero appreziateENJOYSimone Link to comment Share on other sites More sharing options...
paman Posted April 28, 2009 Share Posted April 28, 2009 OttimoQui dobbiamo chiedere lumi a Vino, Disarci e Germano, ( loro sono i [spam-filter] dei moduli ) se vi è la possibilità di creare un modulo partendo dal tuo lavoro, il che sarebbe fantastico.Attendiamo motizieCiao e Grazie Link to comment Share on other sites More sharing options...
Germanoufo Posted April 28, 2009 Share Posted April 28, 2009 Bisogna studiarci un bel po sopra in questo periodo siamo presi tutti con altri moduli magari in seguito riesaminiamo il caso Comunque non hai creato un blocco ma hai modificato delle pagine Ciao ;-) Link to comment Share on other sites More sharing options...
MisterB Posted April 28, 2009 Author Share Posted April 28, 2009 non so nemmeno che vuol dire creare un blocco... cmq ho modificato una pagina e ho creato 2 pagine nuove... in realtà ora che ho un attimo di tempo sto mettendo a posto 2 cosine come ad esempio prendere i dati dal config invece di ripeterli... Link to comment Share on other sites More sharing options...
Germanoufo Posted April 28, 2009 Share Posted April 28, 2009 Be l' inizio è sempre da capirci ma poi ....Comunque ottimo che si vedono nuovi utenti che danno una mano Grande continua così Ciao ;-) Link to comment Share on other sites More sharing options...
vinoalvino Posted April 28, 2009 Share Posted April 28, 2009 A suo tempo ci guardai e mi ero fatto un'idea. Credo che il flusso più semplice, scrivendo meno codice possibile, sia il seguente:* l'utente compila la maschera di registrazione dalla quale viene eliminato il campo password * in fase di salvataggio dei dati il sistema genera una password in automatico e la salva nel dbA questo punto l'utente riceve la normale mail di conferma con utente e password e può accedere.Non dovrebbe essere troppo difficoltoso, in quanto il flusso rimane praticamente uguale, tranne la generazione della password che sarebbe da scrivere ma è una riga di codice. Una volta entrato l'utente si cambia la sua password e vive tranquillo. Utenti che immettono mail errate non riusciranno mai ad entrare e l'obbiettivo è ragiunto. Link to comment Share on other sites More sharing options...
alexj1972 Posted April 28, 2009 Share Posted April 28, 2009 salve a tutti sono molto contento che finalmente si ritornia parlare di questo argometo.spero che i grandi riescana a realizzare qualcosa che permetta appunto la confewrma della regisrtazione.buon lavorogrande forum !!!!!!!! ;-) Link to comment Share on other sites More sharing options...
mr_rem Posted June 5, 2009 Share Posted June 5, 2009 Ho installato questo modulo e, in fase di testing, ho riscontrato che, nelle mail in italiano, alcuni campi non venivano riportati correttamente. Il problema era dovuto ad alcune variabili che non erano compilate correttamente.Ho pertanto modificato i file e riallego lo zip del modulo. customerRegistration.zip Link to comment Share on other sites More sharing options...
Germanoufo Posted June 5, 2009 Share Posted June 5, 2009 Grande e bentornato mr remCiao ;-) Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 Ottimo mr_remGrazie Link to comment Share on other sites More sharing options...
alexj1972 Posted June 5, 2009 Share Posted June 5, 2009 Ottimo mr_remGrazie Ciao, purtroppo a me continua a darmi errori.questa è la mia procedura:ho sostituito il la cartella con la mia , ho reinstallato di nuovo tutto, ho provato a fare una registrazione e mi da questo errore.che devo fare.grazie a tutti. Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 Ottimo mr_remGrazie Ciao, purtroppo a me continua a darmi errori.questa è la mia procedura:ho sostituito il la cartella con la mia , ho reinstallato di nuovo tutto, ho provato a fare una registrazione e mi da questo errore.che devo fare.grazie a tutti. Ciaoin che senso ho sostituito la cartella con la mia ?Perchè basta copiare la cartella nei moduli e tutto dovrebbe funzionare tranquillamenteCiao Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 Ho installato questo modulo e, in fase di testing, ho riscontrato che, nelle mail in italiano, alcuni campi non venivano riportati correttamente. Il problema era dovuto ad alcune variabili che non erano compilate correttamente.Ho pertanto modificato i file e riallego lo zip del modulo. Per mr_remc'è solo una piccola cosa ancora da modificare per rendere il modulo perfetto, ed è il testo della prima mail che arriva al cliente quella [PRESTASHOP]Welcome - sarebbe opportuno modificarla in questo modo ( visto che l' account in quel momento non è ancora attivo), e per non generare confusione al cliente. Sotto Ciao xxxxxxxinserire : Il suo account e in fase di attivazione riceverà una seconda mail non appena il suo account sarà attivato.Che ne dici ?Provvedi tu a fare la modifica ?In modo che non appena fatta sostituisco il file con quello da te modificato, a quello che avevo tradotto io nel post:http://www.prestashop.com/forums/viewthread/15003/programmazione_moduli_design_e_temi/modulo_customerregistration_tradotto_in_italiano_da_testare_in modo che teniamo la stesse modifichè.Ciao Link to comment Share on other sites More sharing options...
alexj1972 Posted June 5, 2009 Share Posted June 5, 2009 Ottimo mr_remGrazie Ciao, purtroppo a me continua a darmi errori.questa è la mia procedura:ho sostituito il la cartella con la mia , ho reinstallato di nuovo tutto, ho provato a fare una registrazione e mi da questo errore.che devo fare.grazie a tutti. Ciaoin che senso ho sostituito la cartella con la mia ?Perchè basta copiare la cartella nei moduli e tutto dovrebbe funzionare tranquillamenteCiao Nel senso che comunque dentro ci sono tutti i file che sono nella mia cartella, allora ho eliminato la mia cartella e al suo posto ho messo quella nella descrizione più in alto.ma mi fa quell'erroree comunque il mio mile già funzionava così da molto tempo, io pensavo che con questo nuovo l'utente ricevesse tramite mail un link per confermare registrazione.ciaoit.zip Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 L' errore ti compare in fase di login - giusto ?Dopo aver attivato l' utente ? Link to comment Share on other sites More sharing options...
alexj1972 Posted June 5, 2009 Share Posted June 5, 2009 L' errore ti compare in fase di login - giusto ?Dopo aver attivato l' utente ? si esatto Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 In effetti, guardando un attimo il codice, noto che va ad agire sul DB nella tabella - xx_customer ( xx e relativo al prefisso utilizzato per le tabelle) e va a variari lo stato del campo ACTIVE da 0 = non attivo a 1 = attivo.Hai dato uno sguardo al DB per vedere se lo stato cel campo active risulta 1 ?Ciao Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 Grazie per le mail contatto mr_rem e vediamo di integrarle.Grazie Link to comment Share on other sites More sharing options...
alexj1972 Posted June 5, 2009 Share Posted June 5, 2009 In effetti, guardando un attimo il codice, noto che va ad agire sul DB nella tabella - xx_customer ( xx e relativo al prefisso utilizzato per le tabelle) e va a variari lo stato del campo ACTIVE da 0 = non attivo a 1 = attivo.Hai dato uno sguardo al DB per vedere se lo stato cel campo active risulta 1 ?Ciao si in effetti mi rimane a 0come faccio ?grazie Link to comment Share on other sites More sharing options...
paman Posted June 5, 2009 Share Posted June 5, 2009 StranoDammi un po di tempo cerco di capire dove sta il problema.Forse conviene aprire un nuovo post, per questo problema.Ciao Link to comment Share on other sites More sharing options...
alexj1972 Posted June 5, 2009 Share Posted June 5, 2009 StranoDammi un po di tempo cerco di capire dove sta il problema.Forse conviene aprire un nuovo post, per questo problema.Ciao ok grazie attendociao Link to comment Share on other sites More sharing options...
mr_rem Posted June 5, 2009 Share Posted June 5, 2009 Ho installato questo modulo e, in fase di testing, ho riscontrato che, nelle mail in italiano, alcuni campi non venivano riportati correttamente. Il problema era dovuto ad alcune variabili che non erano compilate correttamente.Ho pertanto modificato i file e riallego lo zip del modulo. Per mr_remc'è solo una piccola cosa ancora da modificare per rendere il modulo perfetto, ed è il testo della prima mail che arriva al cliente quella [PRESTASHOP]Welcome - sarebbe opportuno modificarla in questo modo ( visto che l' account in quel momento non è ancora attivo), e per non generare confusione al cliente. Per questo bisogna andare nalla cartella mails\it e modificare il file lang.phpAllego il miolang.php Link to comment Share on other sites More sharing options...
mr_rem Posted June 5, 2009 Share Posted June 5, 2009 Ho installato questo modulo e, in fase di testing, ho riscontrato che, nelle mail in italiano, alcuni campi non venivano riportati correttamente. Il problema era dovuto ad alcune variabili che non erano compilate correttamente.Ho pertanto modificato i file e riallego lo zip del modulo. Per mr_remc'è solo una piccola cosa ancora da modificare per rendere il modulo perfetto, ed è il testo della prima mail che arriva al cliente quella [PRESTASHOP]Welcome - sarebbe opportuno modificarla in questo modo ( visto che l' account in quel momento non è ancora attivo), e per non generare confusione al cliente. Sotto Ciao xxxxxxxinserire : Il suo account e in fase di attivazione riceverà una seconda mail non appena il suo account sarà attivato.Che ne dici ?Provvedi tu a fare la modifica ?In modo che non appena fatta sostituisco il file con quello da te modificato, a quello che avevo tradotto io nel post:http://www.prestashop.com/forums/viewthread/15003/programmazione_moduli_design_e_temi/modulo_customerregistration_tradotto_in_italiano_da_testare_in modo che teniamo la stesse modifichè.Ciao Ecco il file modificato.Ovviamente questo file va inserito nella cartella ../mails/itperche' se no non parte la mail.Ciaoaccount.html Link to comment Share on other sites More sharing options...
Aquila_77 Posted October 16, 2009 Share Posted October 16, 2009 Ciao ragazzi, mi spiegate come mai quando trasferisco la cartella customerRegistration dentro la cartella modules, poi in BO mi spariscono i moduli?...Grazie,,,,in poche parole non riesco a fare funzionare sta benedetta funzione di registrazione cliente.... Link to comment Share on other sites More sharing options...
paman Posted October 17, 2009 Share Posted October 17, 2009 Perchè questo modulo era per la 1.1 e tu non hai la 1.1 Link to comment Share on other sites More sharing options...
Aquila_77 Posted October 17, 2009 Share Posted October 17, 2009 ne ho caricato uno in inglese e sembra funzionare, una curiosità, ma la cartella mails deve rimanere dentro la cartella customerRegistration o deve essere copiata nella cartella mails della root principale???grazie Link to comment Share on other sites More sharing options...
lovendiamonoi Posted November 8, 2009 Share Posted November 8, 2009 Funaziona quello inglese v1.5 solo che bisogna approvare a mano le registrazioni... c'è modo di farglielo fare in automatico? Se uno mi si iscrive di notte e non può comprare perchè in PENDING è veramente cosa brutta e sbagliataaaaaaa.... Link to comment Share on other sites More sharing options...
paman Posted November 9, 2009 Share Posted November 9, 2009 Forse a Voi serve questo.http://www.prestashop.com/forums/viewthread/22224/programmazione_moduli_design_e_temi/modulo_registra_user_fatto_100Ciao Link to comment Share on other sites More sharing options...
lovendiamonoi Posted November 9, 2009 Share Posted November 9, 2009 Già... se andasse però... non va... Link to comment Share on other sites More sharing options...
paman Posted November 9, 2009 Share Posted November 9, 2009 Perchè non va, mi funziona egregiamente sulla 1.2.4, hai fatto attenzione a modificare i file ( modificare non sostituire )?Ciao Link to comment Share on other sites More sharing options...
lovendiamonoi Posted November 10, 2009 Share Posted November 10, 2009 Paman mi alleghi i tuoi file mettendo XXXXXX dove devo variare con i miei dati? Ne sto uscendo pazzo... Link to comment Share on other sites More sharing options...
matte89thebest Posted May 7, 2010 Share Posted May 7, 2010 IO ringrazio davvero tutti per la collaborazione, però vorrei fare una richiesta, visto che vi siete sbattuti un sacco, rendete la souluzione un po più fruibile !!Mi spiego, per fare la modifica bisogna rincorrere file e modifiche da fare in vari post e pagine, mettete un bel riepilogo dove scaricare i file che vengono citati nel primo post, e le modifiche da fare per favore? grazie Link to comment Share on other sites More sharing options...
Peppino Posted February 23, 2011 Share Posted February 23, 2011 Ciao a tutti, ho provato ad installarlo in locale ma quando vado sul tab moduli, della pagina non vedo piu tutti i moduli installati!!!! sto usando l'ultima versione italianizata di prestashop Version 1.3.6.0 dal sito di prestamodules. Qualcuno sa aiutarmi??? ciao grazie Link to comment Share on other sites More sharing options...
paman Posted February 28, 2011 Share Posted February 28, 2011 Ciao PeppinoIl modulo era per la 1.1 ecco perchè non ti va sulla 1.3.6Saluti Link to comment Share on other sites More sharing options...
Apprendista Posted May 17, 2011 Share Posted May 17, 2011 esiste questo modulo per la versione 1.3.2.3 ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now