Jump to content

[Risolto] Rendere campo obbligatorio per la registrazione clienti


Recommended Posts

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 by shinnokdrako (see edit history)
Link to comment
Share on other sites

....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 by ariom (see edit history)
  • Like 1
Link to comment
Share on other sites

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 by ariom (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...