Lavorando per un Cliente, mi è stato chiesto di configurare una registrazione avanzata per gli Utenti B2B di un e-commerce Prestashop.

In rete esistono diversi moduli a pagamento che offrono varie opzioni ma nessuno rispondeva pienamente alle mie necessità.
Così ho iniziato a svilupparne uno ad hoc ma anche capace di soddisfare dei requisiti generali in modo tale che potesse servire come base per lavori futuri e come esempio per altri webmaster.

I file che trovate qui in allegato devono essere intesi come un punto di partenza per i vostri workaround.
Nel dettaglio, il modulo, testato su Prestahop 1.7.3 e successive, presuppone che il vostro e-commerce sia in modalità B2B.

  1. In configurazione,  è necessario scegliere su quali gruppi Clienti applicare la registrazione B2B avanzata.
  2. In visualizzazione, il modulo aggiunge un cosiddetto “menu a tendina” (o select) prima del form di registrazione per permettere all’utente di scegliere con quale profilo registrarsi ed aggiunge il campo “recapito telefonico”. Quest’ultimo insieme agli altri campi B2B di Prestashop (Azienda, Codice Fiscale o P.IVA), diventa obbligatorio solo per gli utenti dei gruppi B2B scelti in configurazione.
  3. Al momento della sottoscrizione, solo i Clienti privati avranno accesso immediato allo store, mentre per i gruppi B2B l’account sarà creato ma disabilitato per consentire all’amministratore un’approvazione manuale. Questi Clienti verranno reindirizzati in home page: a loro apparirà un messaggio di conferma, mentre l’amministratore dell’e-commerce riceverà una mail con i dati del nuovo account B2B da verificare e convalidare.
  4. L’amministratore, quindi, potrà abilitare il nuovo account dal back end: impostando lo stato del Cliente su “attivato” da “Gestione Clienti” > “Modifica Cliente“, il modulo invierà una mail di conferma all’Utente per l’avvenuta abilitazione del suo profilo.

Nel file zip allegato, trovate il modulo completo che include anche gli override.

Un ringraziamento speciale ai diversi forum online (Prestashop, stachoverflow, …) fonti di ispirazione per diverse problematiche.

Buon lavoro! 😉

advancedregistration (testato su Prestashop 1.7.3 e sup)
distribuito sotto licenza CC BY-NC 3.0 IT

NOTE
Il mio consiglio è quello di copiare gli override manualmente nell’apposita cartella di Prestashop e di procedere poi all’installazione del modulo.
Tra questi, l’override della classe “CustomerFormatter” non è fondamentale. Potete per esempio decidere di aggiungere il campo “recapito telefonico” utilizzando l’hook “AdditionalCustomerFormFields” che ho lasciato commentato nel file “advancedregistration.php”.