shinnokdrako Posted November 10, 2013 Share Posted November 10, 2013 (edited) Salve a tutti, ho un sito con Prestashop e vorrei rendere obbligatorio un campo durante la registrazione dei clienti. Il campo è il seguente: - indirizzo (riga 2) Io l'ho rinominato "Numero civico", ma non ho idea di come renderlo obbligatorio. Come posso fare, per favore? Ho PrestaShop 1.5.6.0 Grazie Edited November 12, 2013 by shinnokdrako (see edit history) Link to comment Share on other sites More sharing options...
shinnokdrako Posted November 11, 2013 Author Share Posted November 11, 2013 Qualcuno può darmi una mano per favore? Ho cercato in giro ma non riesco proprio, ho provato a modificare i parametri anche in php facendo un sacco di disastri... Link to comment Share on other sites More sharing options...
ariom Posted November 11, 2013 Share Posted November 11, 2013 ....forse ti può aiutare.... http://www.prestashop.com/forums/topic/276280-setting-required-fields-in-customer-registration/?hl=%2Brequired+%2Bfields+%2Bregistration+%2Bform&do=findComment&comment=1388441 ariom Link to comment Share on other sites More sharing options...
shinnokdrako Posted November 11, 2013 Author Share Posted November 11, 2013 grazie ariom per la risposta, ho provato a fare quello che diceva l'altro utente (ovvero mettere 'required' => true nella linea di address2) ma quando provo a registrarmi non me lo dà obbligatorio, non appare l'asterisco rosso. Boh ;( Link to comment Share on other sites More sharing options...
ariom Posted November 11, 2013 Share Posted November 11, 2013 (edited) ....però mi sembra inutile tu voglia modificare il campo indirizzo 2 per un n.civico.che andrebbe semplicemente inserito nel campo indirizzo.... comunque continuo riassumendo le informazioni di alcuni 3d dal forum inglese perchè magari interessa anche altri.... nei passi successivi ti spiego come rendere obbligatorio il campo, ma è solo una piccola parte della soluzione...probabilmente si verificheranno dei problemi tipo il campo non si vede nella tabella clienti, oppure il cliente non lo vede nel suo account etc etc...spero che questo 3d coinvolga altri + esperti e che porti ad una soluzione completa Passo 1: vai in classes > Address.php sostituisci la riga 123 con 'address2' => array('type' => self::TYPE_STRING, 'validate' => 'isAddress', 'required' => true, 'size' => 128), grazie ariom per la risposta, ho provato a fare quello che diceva l'altro utente (ovvero mettere 'required' => true nella linea di address2) ma quando provo a registrarmi non me lo dà obbligatorio, non appare l'asterisco rosso. Boh ;( ....la soluzione alla domanda è semplice.... Passo 2: alla riga 509 di authentication.tpl trovi <p class=" text"> <label for="address2">{l s='Address (Line 2)'}</label> sostituiscilo con <p class="required text"> <label for="address2">{l s='Address (Line 2)'} <sup>*</sup></label> Passo 3: vai in controllers > admin > AdminCustomersController.php sostituisci la riga 38 con $this->required_fields = array('newsletter','optin','address2'); quindi, in BO > clienti scorri in fondo e clicca IMPOSTARE I CAMPI OBBLIGATORI PER QUESTA SEZIONE e seleziona address_2. a questo punto il tuo campo deve essere obbligatoriamente inserito in fase di registrazione. ho fatto una prova lasciando il campo vuoto e non accetta la registrazione, se inserisco qualcosa nel campo tutto va a buon fine... fai una prova e vedi se funziona....io ho provato su PS 1.5.6 fresco di installazione e col tema di default ed è andato tutto ok (fino a qui) Edited November 11, 2013 by ariom (see edit history) 1 Link to comment Share on other sites More sharing options...
ariom Posted November 11, 2013 Share Posted November 11, 2013 (edited) Aggiorno e completo il mio post precedente per vedere il campo indirizzo 2 nella tabella Clienti > Indirizzi bisogna modificare il file controllers > admin > AdminAddressesController.php alla riga 60 trovi 'address1' => array('title' => $this->l('Address')), sotto inserisci 'address2' => array('title' => $this->l('Address2')), Ho controllato e il cliente dal suo account > indirizzi vede e può modificare il vecchio indirizzo2 o aggiungere un nuovo indirizzo compreso indirizzo2, tutto viene correttamente salvato nel db e visualizzato da te nel BO e dal cliente nel suo account Dimenticavo, devi cambiare anche nel file address.tpl alle righe 135.e 136, sostituendole con queste due di seguito <p class="required text"> <label for="address2">{l s='Address (Line 2)'} <sup>*</sup></label> dovrebbe funzionare tutto a questo punto, Ttieni presente che stai modificando file del core, tutti i php sarebbe meglio andassero modificati con il sistema dell'override, io per brevità, non riuscendoci subito, sono andato per la via + sbrigativa per darti la strada verso la soluzione..... Edited November 11, 2013 by ariom (see edit history) Link to comment Share on other sites More sharing options...
shinnokdrako Posted November 12, 2013 Author Share Posted November 12, 2013 Grazie infinite ariom!! Sì, era una cosa inutile, ma ho fatto un sito per mio padre e lui voleva a tutti i costi quel campo obbligatorio (e non "Indirizzo (riga2)" ma "Numero civico"). Pare funzionare tutto, grazie ancora Link to comment Share on other sites More sharing options...
ariom Posted November 12, 2013 Share Posted November 12, 2013 Felice di esserti stato di aiuto... un favore...edita il tuo primo post e inserisci [RISOLTO] nel campo del titolo.... grazie e buon lavoro.... Link to comment Share on other sites More sharing options...
shinnokdrako Posted November 12, 2013 Author Share Posted November 12, 2013 (edited) Fatto, grazie ancora. Edited November 12, 2013 by shinnokdrako (see edit history) 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