BlackTarmac RC Posted August 27, 2018 Share Posted August 27, 2018 (edited) Ciao a tutti, ho PS1.7.4.2 con PHP ver 7.2 e sono alle solite con il problema del C.F. Ho settato obbligatorio dni in clienti->indirizzi e in località -> italia ho impostato si su "richiesto campo codice fiscale" Se il cliente è di nazionalità italiana durante l'iscrizione o compilazione indirizzi è tutto ok, ma se è straniero PS ritorna un messaggio di indirizzo non completo perchè evidentemente si aspetta che l'utente compili il campo codice fiscale che invece non è visibile. Se tolgo la spunta dni obbligatorio tra clieni-> indirizzi quando il cliente è straniero è ok ma se è italiano il campo è opzionale e non obbligatorio. A parte che ritengo scandaloso che PS non abbia ancora risolto definitaemente questo bug per l'italia e i paesi in cui è obbligatorio un codice fiscale, chiedo gentilmente se qualcuno ha qualche soluzione o se ha risolto. Grazie mille Edited August 29, 2018 by BlackTarmac RC (see edit history) Link to comment Share on other sites More sharing options...
BlackTarmac RC Posted August 28, 2018 Author Share Posted August 28, 2018 Non ci credo che nessuno abbia riscontrato lo stesso problema del codice fiscale per clienti stranieri Link to comment Share on other sites More sharing options...
Sito Lab Posted August 28, 2018 Share Posted August 28, 2018 prova a vedere se questo (link) fà al tuo caso Link to comment Share on other sites More sharing options...
BlackTarmac RC Posted August 28, 2018 Author Share Posted August 28, 2018 Grazie sito lab per la risposta. Le impostazioni riportate nella tua guida sono già settati in questo modo. E così funziona ma il campo codice fiscale resta non obbligatorio, bensì opzionale. Io invece vorrei che funzionasse nello stesso modo ma che fosse obbligatorio l'inserimento. Se si va a mettere obbligatorio il "dni" flaggandolo nella sezione indirizzi quando un utente è straniero viene restituito un messaggio di "indirizzo incompleto" perchè PS si aspetta che venga compilato un campo C.F. che però non è mostrato. Spero di essermi spiegato. Link to comment Share on other sites More sharing options...
Fabry Posted August 28, 2018 Share Posted August 28, 2018 (edited) Confermo che é un PITA come dicono gli yankees!!:-) Cmq ho risolto e trovandomi all'estero confermo che il CF non é obbligatorio..lo diventa quando seleziono il paese Italia al secondo step "Indirizzi"..se cambio paese ovviamente il campo codice fiscale sparisce. Riepilogando nel primo step 1 Informazioni Personali compaiono Nome, Cognome, e mail obbligatori...Azienda e CF sono Opzionali...anche perché quá servono solo questi pochi dati per creare un account Guest....al secondo Step entrano in ballo gli indirizzi e quá c'e´da modificare una classe...eheh son sempre loro le incriminate. Per cui al secondo step avremo il campo visibile e richiesto nominato "codice fiscale" solo se si seleziona il paese Italia...se mi trovo in Spagna per es questo campo non sará mostrato e neanche processato per cui non é solo nascosto. Cosa fare?? classes/form CustomerAddressFormatter.php aggiungere il codice in rosso sotto indicato...piú o meno riga 94..vi ho indicato una porzione maggiore del codice cosí da trovarlo piú facilmente. Attenzione: nel BO non dovete fare cose esoteriche ma tutto deve seguire la logica della piattaforma ossia abilitare il CF nel Paese Italia e non renderlo obbligatorio invece nella sezione clienti>indirizzi....mi sembra logico no?:-) altrimenti diventa una regola generale globalizzata e a Trump non piace:-) Questo funziona sulla 1.7.4.2 PS: attenzione questo andrebbe peró fatto non direttamente sulla classe ma bensí con il metodo dell'ovveride per cui ...al volo mentre stó scrivendo si tratta di ricreare uno file php con lo stesso nome e inserirgli dentro solo la funzione in oggetto ossia public function getFormat()..prendete tutto il codice incluso all'interno di questa funzione quindi questo nuovo file lo caricate in Override/Classes/Form tutto questo per evitare di perdere le modifiche al primo aggiornamento!!:-) Fatemi sapere foreach ($fields as $field) { $formField = new FormField(); $formField->setName($field); $fieldParts = explode(':', $field, 2); if ($field === 'dni') { if ($this-> country-> need_identification_number) { $formField-> setRequired (true); } } if (count($fieldParts) === 1) { if ($field === 'postcode') { if ($this->country->need_zip_code) { $formField->setRequired(true); } } } elseif (count($fieldParts) === 2) { list($entity, $entityField) = $fieldParts; Edited August 28, 2018 by Fabry (see edit history) Link to comment Share on other sites More sharing options...
BlackTarmac RC Posted August 29, 2018 Author Share Posted August 29, 2018 Grazie mille!!! Funziona tutto!! questo codice fiscale ci fa sempre morire in ogni versione!!! Comunque con il tuo modo funziona correttamente tutto!!! Grazie davvero. P.S. Hai guardato per caso al mio topic delle traduzioni? Link to comment Share on other sites More sharing options...
shon Posted January 6, 2019 Share Posted January 6, 2019 On 8/28/2018 at 7:35 PM, Fabry said: PS: attenzione questo andrebbe peró fatto non direttamente sulla classe ma bensí con il metodo dell'ovveride per cui ...al volo mentre stó scrivendo si tratta di ricreare uno file php con lo stesso nome e inserirgli dentro solo la funzione in oggetto ossia public function getFormat()..prendete tutto il codice incluso all'interno di questa funzione quindi questo nuovo file lo caricate in Override/Classes/Form Non mi è chiara questa parte. Ho effettuato l'operazione citata, ma il file CustomerAddressFormatter.php nella cartella classes/form lo devo lasciare originale o modificato? Link to comment Share on other sites More sharing options...
Fabry Posted January 6, 2019 Share Posted January 6, 2019 @Shon: il file della cartella form non va toccato ed é proprio per questo che si fá l'override!. L'override aggiunge solo la modifica a tutto il codice che é nel file originale. ciao Link to comment Share on other sites More sharing options...
shon Posted January 7, 2019 Share Posted January 7, 2019 Grazie mille per la risposta, il fatto è che ho provato e non funziona senza toccare il file originale nella cartella form. Forse dimentico qualcosa? Link to comment Share on other sites More sharing options...
anto2812 Posted January 8, 2019 Share Posted January 8, 2019 On 8/28/2018 at 7:35 PM, Fabry said: Confermo che é un PITA come dicono gli yankees!!:-) Cmq ho risolto e trovandomi all'estero confermo che il CF non é obbligatorio..lo diventa quando seleziono il paese Italia al secondo step "Indirizzi"..se cambio paese ovviamente il campo codice fiscale sparisce. Riepilogando nel primo step 1 Informazioni Personali compaiono Nome, Cognome, e mail obbligatori...Azienda e CF sono Opzionali...anche perché quá servono solo questi pochi dati per creare un account Guest....al secondo Step entrano in ballo gli indirizzi e quá c'e´da modificare una classe...eheh son sempre loro le incriminate. Per cui al secondo step avremo il campo visibile e richiesto nominato "codice fiscale" solo se si seleziona il paese Italia...se mi trovo in Spagna per es questo campo non sará mostrato e neanche processato per cui non é solo nascosto. Cosa fare?? classes/form CustomerAddressFormatter.php aggiungere il codice in rosso sotto indicato...piú o meno riga 94..vi ho indicato una porzione maggiore del codice cosí da trovarlo piú facilmente. Attenzione: nel BO non dovete fare cose esoteriche ma tutto deve seguire la logica della piattaforma ossia abilitare il CF nel Paese Italia e non renderlo obbligatorio invece nella sezione clienti>indirizzi....mi sembra logico no?:-) altrimenti diventa una regola generale globalizzata e a Trump non piace:-) Questo funziona sulla 1.7.4.2 PS: attenzione questo andrebbe peró fatto non direttamente sulla classe ma bensí con il metodo dell'ovveride per cui ...al volo mentre stó scrivendo si tratta di ricreare uno file php con lo stesso nome e inserirgli dentro solo la funzione in oggetto ossia public function getFormat()..prendete tutto il codice incluso all'interno di questa funzione quindi questo nuovo file lo caricate in Override/Classes/Form tutto questo per evitare di perdere le modifiche al primo aggiornamento!!:-) Fatemi sapere foreach ($fields as $field) { $formField = new FormField(); $formField->setName($field); $fieldParts = explode(':', $field, 2); if ($field === 'dni') { if ($this-> country-> need_identification_number) { $formField-> setRequired (true); } } if (count($fieldParts) === 1) { if ($field === 'postcode') { if ($this->country->need_zip_code) { $formField->setRequired(true); } } } elseif (count($fieldParts) === 2) { list($entity, $entityField) = $fieldParts; Non funziona sulla 1.7.5 - gli override sono attivati Link to comment Share on other sites More sharing options...
shon Posted January 8, 2019 Share Posted January 8, 2019 On 1/7/2019 at 1:25 AM, shon said: Grazie mille per la risposta, il fatto è che ho provato e non funziona senza toccare il file originale nella cartella form. Forse dimentico qualcosa? Ho risolto inserendo nella cartella Override/Classes/Form tutto il file originale con la modifica. Link to comment Share on other sites More sharing options...
anto2812 Posted January 8, 2019 Share Posted January 8, 2019 1 minute ago, shon said: Ho risolto inserendo nella cartella Override/Classes/Form tutto il file originale con la modifica. è quello che ho fatto anche io, ma niente da fare, versione Prestashop 1.7.5 Link to comment Share on other sites More sharing options...
shon Posted January 8, 2019 Share Posted January 8, 2019 5 minutes ago, anto2812 said: è quello che ho fatto anche io, ma niente da fare, versione Prestashop 1.7.5 hai pulito la cache dopo aver inserito il file modificato (per intero) nella cartella Override/Classes/Form? Link to comment Share on other sites More sharing options...
anto2812 Posted January 8, 2019 Share Posted January 8, 2019 certo, è stato il mio primo pensiero, ho anche abilitato din negli indirizzi cliente, ma niente da fare il CF appare ma sempre come opzionale Link to comment Share on other sites More sharing options...
shon Posted January 8, 2019 Share Posted January 8, 2019 2 minutes ago, anto2812 said: certo, è stato il mio primo pensiero, ho anche abilitato din negli indirizzi cliente, ma niente da fare il CF appare ma sempre come opzionale Ho fatto dei test. Quando tolgo il file modificato dalla cartella Override/Classes/Form il CF mi diventa opzionale. Quando lo rimetto nella stessa cartella torna obbligatorio. Anche io ho la versione 1.7.5. Prova a vedere se hai effettuato tutto correttamente, riepilogando: - copi il file CustomerAddressFormatter.php tale e quale dalla cartella classes/form e lo incolli nella cartella Override/Classes/Form - il file che ora si trova nella cartella Override/Classes/Form lo modifichi aggiungendo la parte di testo in rosso come indicato sopra - pulisci la cache e fine - il CF dovrebbe ora essere obbligatorio e non opzionale Link to comment Share on other sites More sharing options...
anto2812 Posted January 8, 2019 Share Posted January 8, 2019 ho riprovato, ma niente da fare anzi se tolgo il CF rimane sempre nel form and elimnando l'override, la voce dni, disabilito l'obbligatorietà del CF dalle Nazioni e tolgo la spunta dni dagli indirizzi cliente. Rimane nel form come opzionale e la cosa più curiosa è che se ripristino il layout di base (form nelle Nazioni) cmq non cambia niente però ho installato il modulo gratuito per la fatturazione elettronica il che mi fa pensare che abbia il campo CF, però rimane opzionale qualcuno ha provato quel modulo con il codice fiscale? grazie Link to comment Share on other sites More sharing options...
alexpacha Posted February 28, 2019 Share Posted February 28, 2019 Grazie Fabry, ho testato questa soluzione e su prestashop 1.7.5 funziona bene...l'unico limite che ho è che in tutte le nazioni anche se facoltativo devo avere nell'indirizzo il campo dni altrimenti mi restituisce errore 500, e anche se spunto l'opzione non richiedere codice fiscale rimane sempre attivo...ora però con questa soluzione l'ITALIA non è facoltativo ma obbligatorio mentre per le altre rimane facoltativo e non è poco!Grazie Link to comment Share on other sites More sharing options...
Francicu Posted March 3, 2019 Share Posted March 3, 2019 (edited) Chiedo scusa ma io sto provando ad aggiungere il campo Codice Fiscale nel BO (Clienti->Indirizzi-Impostare i campi obbligatori per questa sezione -> flaggo dni) però una volta aggiornato e e facendo l'accesso come utente registrato (EDIT: anche come ospite) sul sito non mi appare il campo dove inserire il codice fiscale. Dove sbaglio? Uso PS 1.7.4.2 grazie Edited March 3, 2019 by Francicu (see edit history) Link to comment Share on other sites More sharing options...
alexpacha Posted March 3, 2019 Share Posted March 3, 2019 Ciao Francicu, provo a spiegare la procedura, per aggiungere il campo Codice Fiscale devi andare in : INTERNAZIONALE - LOCALITA' - NAZIONI. Primo controllo: controlla quale nazioni hai attive, selezioni ITALIA, dentro trovi il FORMATO INDIRIZZO. Nel formato indirizzo devi aggiungere il campo dni e se vuoi tutti i campi che vuoi attivare ad esempio mobile_phone; email ecc... Quindi DENTRO NAZIONI AGGIUNGI I CAMPI ALL'INDIRIZZO! Attivi anche il flag RICHIEDI CODICE FISCALE? metti SI. Attenzione a non confondere NAZIONI indirizzi ( dove aggiungi i campi) con CLIENTI indirizzi (dove imposti i vincoli di obbligatorietà) Se vendi solo in ITALIA, puoi impostare dentro CLIENTI-INDIRIZZI come obbligatorio il campo dni ( ATTENZIONE questo Vincolo vale per tutti gli indirizzi inseriti ITALIANI, STRANIERI TUTTII! ma non nasce per rendere obbligatorio ai fini fiscali Italiani il campo DNI, nasce per rendere obbligatorio qualsiasi campo di qualsiasi indirizzo!) Se vendi anche all'estero, mettendo Obbligatorio il campo dni, prestashop cercherà sempre questo campo come obbligatorio anche nei FORMATI indirizzi delle altre NAZIONI. ( NB dovrai aggiungere il campo dni a tutte le nazioni attive affinchè il cliente estero che registra il suo indirizzo non si ritrovi un errore 500 del server) ( non è un ragionamento contorto come molti pensano perchè ad esempio con questo tipo di vincolo ti permette di rendere obbligatorio per tutte le nazioni un campo utile come ad esempio un cellulare) Quindi ricapitolando se imposti obbligatorio il campo DNI, sarà obbligatorio per tutti, e questo non va bene per chi vende all'estero, per questo esiste il FLAG richiedi codice fiscale, impostandolo su SI e modificando la CLASSE come in questo tutorial solo chi ha il Flag su si avrà il campo obbligatorio ( come dovrebbe essere) per tutti gli altri sarà facoltativo se lo svincoli... spero sia chiaro... Link to comment Share on other sites More sharing options...
Francicu Posted March 3, 2019 Share Posted March 3, 2019 1 ora fa, alexpacha dice: Ciao Francicu, provo a spiegare la procedura, per aggiungere il campo Codice Fiscale devi andare in : INTERNAZIONALE - LOCALITA' - NAZIONI. Primo controllo: controlla quale nazioni hai attive, selezioni ITALIA, dentro trovi il FORMATO INDIRIZZO. Nel formato indirizzo devi aggiungere il campo dni e se vuoi tutti i campi che vuoi attivare ad esempio mobile_phone; email ecc... Quindi DENTRO NAZIONI AGGIUNGI I CAMPI ALL'INDIRIZZO! Attivi anche il flag RICHIEDI CODICE FISCALE? metti SI. Attenzione a non confondere NAZIONI indirizzi ( dove aggiungi i campi) con CLIENTI indirizzi (dove imposti i vincoli di obbligatorietà) Se vendi solo in ITALIA, puoi impostare dentro CLIENTI-INDIRIZZI come obbligatorio il campo dni ( ATTENZIONE questo Vincolo vale per tutti gli indirizzi inseriti ITALIANI, STRANIERI TUTTII! ma non nasce per rendere obbligatorio ai fini fiscali Italiani il campo DNI, nasce per rendere obbligatorio qualsiasi campo di qualsiasi indirizzo!) Se vendi anche all'estero, mettendo Obbligatorio il campo dni, prestashop cercherà sempre questo campo come obbligatorio anche nei FORMATI indirizzi delle altre NAZIONI. ( NB dovrai aggiungere il campo dni a tutte le nazioni attive affinchè il cliente estero che registra il suo indirizzo non si ritrovi un errore 500 del server) ( non è un ragionamento contorto come molti pensano perchè ad esempio con questo tipo di vincolo ti permette di rendere obbligatorio per tutte le nazioni un campo utile come ad esempio un cellulare) Quindi ricapitolando se imposti obbligatorio il campo DNI, sarà obbligatorio per tutti, e questo non va bene per chi vende all'estero, per questo esiste il FLAG richiedi codice fiscale, impostandolo su SI e modificando la CLASSE come in questo tutorial solo chi ha il Flag su si avrà il campo obbligatorio ( come dovrebbe essere) per tutti gli altri sarà facoltativo se lo svincoli... spero sia chiaro... Innanzitutto ti ringrazio per la pazienza ed il meticoloso tutorial, bene o male sono riuscita ad inserire il campo CF ma cosa intendi quando dici che non lo rende obbligatorio ai fini fiscali? A me servirebbe proprio per quei clienti che richiedono la fattura (privato, CF) azienda (p.iva/CF) quindi vorrei poi ritrovarmi il CF in fattura, questo avviene? Ed è meglio tenerlo obbligatorio oppure opzionale? Perchè dai test che ho effettuato ovviamente in fase di check out, prima di procedere con un acquisto durante l'inserimento dell'indirizzo devo obbligatoriamente inserirlo, se settato come obbligatorio, altrimenti non mi fa procedere. Giustamente. Quindi mi chiedo: ne vale la pena per l'utente? Oppure è meglio lasciare il campo come opzionale? In questo caso starà al cliente compilare questo campo, se vorrà richiedere fattura con quell'intestazione. Poi un'altra cosa..non esiste alcun controllo sul codice fiscale? Penso ad un cliente che sbaglia ad inserirlo, per esempio. Al momento non mi interessa vendere all'estero quindi sto ragionando unicamente per il mercato italiano.Ti ringrazio! Link to comment Share on other sites More sharing options...
alexpacha Posted March 4, 2019 Share Posted March 4, 2019 In Italia se fatturi hai bisogno del codice fiscale del cliente o della partita iva con ragione sociale....Prestashop ti permette di gestire questi campi all'interno della scheda NAZIONI->Indirizzi-> Formato indirizzo.....ok? Qua dentro inserisci DNI ecc... Di default prestashop sotto questo campo ha un flag da settare che si chiama RICHIEDI CODICE FISCALE---se imposti questo campo su SI dovrebbe richiedere il codice fiscale per la nazione in questione come campo obbligatorio, ma questo non funziona forse è un bug, seguendo la guida sopra potrai fare in modo che le nazioni che hanno questo RICHIEDI CODICE FISCALE impostato su SI di default senza rendere obbligatorio il campo dentro INDIRIZZI CLIENTI richiedano obbligatoriamente ai clienti che si registrano il codice fiscale... Ora proprio a causa di questo problema(Bug) per rendere obbligatorio il campo CODICE FISCALE l'unico modo( se non metti mano alle CLASSI e al Codice) è spuntare la casella dentro INDIRIZZI CLIENTI ma questo ti causerà qualche grattacapo con i clienti stranieri che non hanno un codice Fiscale da inserire, lo trovano "obbligatorio" si bloccheranno e abbandoneranno il tuo negozio.... Se non rendi obbligatorio il campo e se non metti mano al codice il campo codice fiscale anche se flagghi su SI in Richiedi codice fiscale rimane facoltativo l'inserimento (bug)...a te la scelta! Il mio consiglio è questo: Non rendere obbligatorio DNI dentro Indirizzi-clienti, segui la guida sopra, è semplicissimo e risolvi un problema che in futuro ti creerà grattacapi Link to comment Share on other sites More sharing options...
alexpacha Posted March 4, 2019 Share Posted March 4, 2019 Se fatturi tutto a tutti vale la pena richiedere il campo Codice fiscale, se non fatturi tutto lascialo facoltativo. Se il cliente sbaglia ad inserire il campo codice fiscale credo che non esista un modulo che ti faccia un controllo... Se non fatturi tutto spesso è conveniente creare uno Status Emetti Fattura, separato da pagamento accettato ecc così chi vorrà la fattura la emetti al volo.. Link to comment Share on other sites More sharing options...
Francicu Posted March 4, 2019 Share Posted March 4, 2019 A questo punto mi sa che emerge un altro problema che non avevo considerato.. Impostare come zona di vendita e spedizione unicamente l'Italia.. come posso fare per impostare tutto ciò? Quando ho inserito il corriere e le spese di spedizione ho flaggato unicamente ''Europa'' tra i paesi che mi venivano proposti, ma credo non basti... Link to comment Share on other sites More sharing options...
alexpacha Posted March 4, 2019 Share Posted March 4, 2019 Beh certo che non basta assegnare l'Europa, le zone devono essere ben definite, le NAZIONI attive sono una cosa, le zone sono un altra, poi bisogna valutare quali sono le tue tariffe di spedizione, se sono legate al peso, al peso-volume o se preferisci al prezzo, definire le zone e come sono suddivise le zone...alcuni corrieri dividono ulteriormente le zone, avrai le zone ma anche i CAP, poi ci sono le isole, le zone disagiate, le zone periferiche ecc...credo ci sia da studiare un po! Link to comment Share on other sites More sharing options...
Francicu Posted March 4, 2019 Share Posted March 4, 2019 26 minuti fa, alexpacha dice: Beh certo che non basta assegnare l'Europa, le zone devono essere ben definite, le NAZIONI attive sono una cosa, le zone sono un altra, poi bisogna valutare quali sono le tue tariffe di spedizione, se sono legate al peso, al peso-volume o se preferisci al prezzo, definire le zone e come sono suddivise le zone...alcuni corrieri dividono ulteriormente le zone, avrai le zone ma anche i CAP, poi ci sono le isole, le zone disagiate, le zone periferiche ecc...credo ci sia da studiare un po! Potresti suggerirmi qualche link dove iniziare a documentarmi su questa cosa? Perchè riguardo le zone ne ho creata una nuova (Italia) e ad essa ho assegnato tutte le province italiane, deselezionando tutte quelle altre (zone) che non mi interessano (e che adesso mi ritrovo in mezzi di spedizione come ''non attive'') giusto? Link to comment Share on other sites More sharing options...
alexpacha Posted March 4, 2019 Share Posted March 4, 2019 il procedimento è abbastanza semplice, è solo un pò macchinoso....I Corrieri in prestashop lavorano per Zone, quindi devi creare le zone che ti interessano ed associare alle zone le relative province....crei le zone in base alle tue tariffe, es: Italia, Italia Isole ecc... puoi associ ad ogni zona le province...poi in Spedizioni, mezzi di trasporto troverai nella lista delle zone le zone che hai creato...setti le tariffe e hai completato l'inserimento...tutto qua... Di default prestashop suddivide le zone solo in province, se vuoi delle suddivisioni più strette ad es. per CAP ti consiglio di acquistare dei moduli già pronti...esistono e funzionano bene... Link to comment Share on other sites More sharing options...
Francicu Posted March 4, 2019 Share Posted March 4, 2019 Grazie, dovrò approfondire questo aspetto allora. Invece come faccio per rendere visibile il mio sito almeno in Europa (ad esempio penso ad un cliente italiano residente all'estero). Immagino dalla tab localizzazione.. ma cosa devo spuntare? Geolocalizzazione tramite ip? Inoltre mi esce questo avviso: "Per utilizzare la Geolocalizzazione, si prega di scaricare questo file e di estrarlo (utilizzando WinRar o Gzip) nella cartella /app/Resources/geoip/." Link to comment Share on other sites More sharing options...
luigi45 Posted March 5, 2019 Share Posted March 5, 2019 sono nuovo ho installato la versione 1.7.5.1 io non vedo il campo C.F. mi potete dare indicazioni come inserirlo, ho già provato di tutto leggendo questo post ma niente mi potete aiutare? grazie Link to comment Share on other sites More sharing options...
alexpacha Posted March 5, 2019 Share Posted March 5, 2019 Buonasera Luigi, il codice fiscale non lo trova all'interno di questa scheda, ma nelle schede indirizzi... Link to comment Share on other sites More sharing options...
luigi45 Posted March 5, 2019 Share Posted March 5, 2019 Grazie mille Link to comment Share on other sites More sharing options...
Andrea Fontana Posted March 9, 2019 Share Posted March 9, 2019 On 3/4/2019 at 3:50 PM, alexpacha said: il procedimento è abbastanza semplice, è solo un pò macchinoso....I Corrieri in prestashop lavorano per Zone, quindi devi creare le zone che ti interessano ed associare alle zone le relative province....crei le zone in base alle tue tariffe, es: Italia, Italia Isole ecc... puoi associ ad ogni zona le province...poi in Spedizioni, mezzi di trasporto troverai nella lista delle zone le zone che hai creato...setti le tariffe e hai completato l'inserimento...tutto qua... Di default prestashop suddivide le zone solo in province, se vuoi delle suddivisioni più strette ad es. per CAP ti consiglio di acquistare dei moduli già pronti...esistono e funzionano bene... ciao Alexpacha, mi puoi dire come si associano le zone alle province? Ho creato le diverse zone che mi interessano sul DB e le vedo nel backoffice, ma poi le province sono attivabili soltanto per Nazione. Ho provato a impostare le singole Regioni come Nazioni, ma non mi accetta il codice ISO perché IT è già utilizzato e non mi fa inserire per esempio IT-82 (codice ISO della Sicilia) perché il campo accetta soltanto 3 caratteri e soltanto lettere. Per caso hai risolto in qualche modo? grazie per una risposta Link to comment Share on other sites More sharing options...
Fabry Posted March 9, 2019 Share Posted March 9, 2019 Salve Andrea, é semplice...nel back office ha 3 tab> Zone, Nazione, Province ( queste ultime funzionano anche come distretti per es quá in Portogallo o Stati come in USA)....ok Crea le varie zone coperte dal suo corriere e in base quindi a dove vuole vendere....per es una zona Italia ed un'altra con Italia Isole..se vende anche in Europa creerá Zona Europa con tariffe diverse...etc etc. Poi la Nazione Italia per es la associa al Zona Italia ( se invece avesse costi di spedizioni identici per Europa e Italia allora creerá solo la Zona Europa e la zona Italia non server) Per le province se ha una unica zona Italia andranno associate a Nazione>Italia..Zona>Italia se ha zone differenti.....es Cagliari sará associata a Nazione>Italia....Zona>Italia Isole spero che risolva! ciao Link to comment Share on other sites More sharing options...
Andrea Fontana Posted March 9, 2019 Share Posted March 9, 2019 Grazie, adesso è chiaro. Sei grande! PS è un po' come la geometria, se te la spiegano bene è utile Link to comment Share on other sites More sharing options...
Fabry Posted March 9, 2019 Share Posted March 9, 2019 De nada!:-) Cmq esiste una guida ufficiale dove puó trovare informazioni utili: http://doc.prestashop.com/display/PS17/User+Guide Ciao Link to comment Share on other sites More sharing options...
alexpacha Posted March 9, 2019 Share Posted March 9, 2019 eccomi, sono arrivato tardi...non so perchè è sempre così ostico il settaggio dei corrieri, il corriere vuole le ZONE...dentro località trovi: NAZIONI - ZONE - PROVINCE Imposti NAZIONI - ITALIA attivata Zone: crei le tue zone in base alle tariffe del corriere che utilizzerai ad esempio se il corriere ti fa tre prezzi diversi per l'italia, le isole e le isole minori crei ad esempio la ZONA PENISOLA ITALIANA + ZONA ISOLE + ZONA ISOLE MINORI e Zone disagiate Province: ogni provincia ha una nazione, una zona ecc imposti le province nelle zone appena create...ES: sassari andrà dentro la nazione italia-zona isole; Livigno andrà dentro isole minori... tutto qua... dopo dentro Spedizione----> Mezzi di spedizione troverai le zone create con la possibilità di selezionare per le tue zone i tuoi prezzi... Se vuoi avere un ulteriore suddivisione in base al CAP devi acquistare un modulo aggiuntivo! Link to comment Share on other sites More sharing options...
Andrea Fontana Posted March 10, 2019 Share Posted March 10, 2019 5 hours ago, Fabry said: De nada!:-) Cmq esiste una guida ufficiale dove puó trovare informazioni utili: http://doc.prestashop.com/display/PS17/User+Guide Ciao ho seguito le tue indicazioni e speravo di aver risolto, però facendo un ordine di prova mi dice che non ci sono vettori disponibili per l'indirizzo di consegna. Hai idea del perché? Ho anche un altro problema: se un cliente tenta di aggiungere un nuovo indirizzo (alcuni hanno più sedi) il browser restituisce questo errore: [PrestaShopException] La proprietà Address->id_country è vuota.at line 954 in file classes/ObjectModel.php 949. } 950. 951. $message = $this->validateField($field, $this->$field); 952. if ($message !== true) { 953. if ($die) { 954. throw new PrestaShopException($message); 955. } 956. return $error_return ? $message : false; 957. } 958. } 959. ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php] ObjectModelCore->getFields - [line 529 - classes/ObjectModel.php] ObjectModelCore->add - [line 174 - classes/Address.php] - [2 Arguments] AddressCore->add - [line 487 - classes/ObjectModel.php] - [2 Arguments] ObjectModelCore->save - [line 76 - classes/form/CustomerAddressPersister.php] CustomerAddressPersisterCore->save - [line 157 - classes/form/CustomerAddressForm.php] - [2 Arguments] CustomerAddressFormCore->submit - [line 58 - controllers/front/AddressController.php] AddressControllerCore->postProcess - [line 244 - classes/controller/Controller.php] ControllerCore->run - [line 428 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 28 - index.php] Link to comment Share on other sites More sharing options...
alexpacha Posted March 10, 2019 Share Posted March 10, 2019 devi controllare il formato indirizzo: Vai in nazioni ----- controlla le nazioni attive ----ti consiglio di impostare per in ogni nazione lo stesso formato indirizzo...devi avere: Nome , Cognome, DNI, Company, Country ecc ....verifica che in tutte le nazioni sia presente il campo COUNTRY... Link to comment Share on other sites More sharing options...
alexpacha Posted March 10, 2019 Share Posted March 10, 2019 mentre per il problema sui vettori, hai impostato bene i corrieri con i prezzi per le zone create? Link to comment Share on other sites More sharing options...
Andrea Fontana Posted March 11, 2019 Share Posted March 11, 2019 11 hours ago, alexpacha said: mentre per il problema sui vettori, hai impostato bene i corrieri con i prezzi per le zone create? Grazie Alex per l'aiuto. Credo di sì (ti allego un paio di schermate). Ho notato che non tiene conto del corriere di default (non so se sia questo il problema e, nel caso, come risolverlo) Link to comment Share on other sites More sharing options...
Andrea Fontana Posted March 11, 2019 Share Posted March 11, 2019 ciao a tutti, ho risolto. In nazioni, oltre al campo Country è necessario anche quello State name. con la configurazione che segue, magicamente funziona: firstname lastname company vat_number address1 address2 postcode city Country:name State:name phone dni other Link to comment Share on other sites More sharing options...
alexpacha Posted March 11, 2019 Share Posted March 11, 2019 Ottimo, si è fondamentale se il corriere lavora in più nazioni! Ti consiglio di controllare questa configurazione in tutte le nazioni attive... Link to comment Share on other sites More sharing options...
claus Posted May 24, 2020 Share Posted May 24, 2020 Riapro questo post perche continuo ad avere questo errore nonostante abbia fatto l'override della classe e pulito la cache. ho la versione 1.7.4.2 ho messo anche nelle nazioni gli stessi campi compreso il dni ( obbligatorio solo per l'italia ) ma non cambia nulla. Link to comment Share on other sites More sharing options...
Andrea Fontana Posted May 24, 2020 Share Posted May 24, 2020 ciao Claus. controlla di aver impostato correttamente la Nazione nel menù Località, la configurazione che a me funziona nel formato indirizzo contiene queste voci: firstname lastname company vat_number address1 address2 postcode city Country:name State:name phone dni codice_destinatario pec Ti allego anche una schermata Link to comment Share on other sites More sharing options...
claus Posted May 25, 2020 Share Posted May 25, 2020 Già verificato ma provo a incollare lo stesso i tuoi campi. L'unica cosa differente è che io per L'italia ho creato una zona a parte per gestire le spedizioni gratuiite rispetto l'europa. Purtroppo il problema si verifica solo quando un cliente straniero cerca di fare un ordine. Per l'Italia non ci sono problemi e ho incollato gli stessi campi ( tranne pec e sdi ) anche nella altre nazioni attive Sembra che non prenda l'override della classe. Link to comment Share on other sites More sharing options...
claus Posted May 25, 2020 Share Posted May 25, 2020 ho risolto togliendo il campo dni dagli indirizzi dei paesi stranieri. va controcorrente la guida ma sembra funzionare. Grazie comunque per il piccolo aiuto. Link to comment Share on other sites More sharing options...
Andrea Fontana Posted May 25, 2020 Share Posted May 25, 2020 ottimo Link to comment Share on other sites More sharing options...
claus Posted May 26, 2020 Share Posted May 26, 2020 (edited) niente...pensavo di aver risolto ma qualche cliente mi ha comunicato che in fase di inserimento va ancora in blocco. questo maledetto dni crea un sacco di casini. l'ho tolto tra i campi dei paese esteri ma ancora lo chiede. Edited May 26, 2020 by claus (see edit history) Link to comment Share on other sites More sharing options...
domechan Posted December 24, 2020 Share Posted December 24, 2020 Stesso problema e non funziona. Prestashop 1.7.6.8. Ho seguito la guida punto punto per l'override ma niente. Il campo risulta sempre opzionale. Anche io ho inserito l'Italia in una zona a parte per gestire i corrieri nazionali. Per ora lo lascio opzionale per tutte le nazioni ma questa cosa è davvero noiosa. Se qualcuno ha risolto davvero faccia sapere perché è incredibile questo problema nel 2020. Link to comment Share on other sites More sharing options...
Fabry Posted December 24, 2020 Share Posted December 24, 2020 4 hours ago, domechan said: Stesso problema e non funziona. Prestashop 1.7.6.8. Ho seguito la guida punto punto per l'override ma niente. Il campo risulta sempre opzionale. Anche io ho inserito l'Italia in una zona a parte per gestire i corrieri nazionali. Per ora lo lascio opzionale per tutte le nazioni ma questa cosa è davvero noiosa. Se qualcuno ha risolto davvero faccia sapere perché è incredibile questo problema nel 2020. Salve sulla sua versione non deve fare nulla di quello che avevo scritto sopra in quanto ora tutto funziona in forma differente!! é sufficiente renderlo obbligatorio in localizzazione>nazioni>Italia..e mettere la slide su SI ciao Link to comment Share on other sites More sharing options...
MatG Posted March 10, 2021 Share Posted March 10, 2021 Salve, per quanto concerne CF obbligatorio in fase di registrazione con versione 1.7.6.2 non riesco in alcun modo ad attivarlo, seguito varie procedure indicate in questo thread e altri ma nulla. Bottone Slider è su "SI" e il "din", anche se lo tolgo riappare da solo... qualunque aiuto graditissimo! Grazie Mille Link to comment Share on other sites More sharing options...
domechan Posted March 10, 2021 Share Posted March 10, 2021 Ciao MatG, onestamente io con 1.7.6.8 non ho risolto. Da quando sono passato a 1.7.7.2 il problema si è risolto automaticamente, per l'Italia compare il campo ed è obbligatorio, per tutto il resto delle nazioni il campo scompare e non va compilato. Brutto da sapere ma (secondo me) con 1.7.6 non c'è soluzione. Link to comment Share on other sites More sharing options...
alexpacha Posted March 10, 2021 Share Posted March 10, 2021 Ciao, cosa vuol dire anche se lo tolgo riappare da solo? In Internazionale->Località->Nazione->Italia vai su modifica e tra le cose richieste se inserisci DNI appare il campo codice fiscale. Con lo slider lo rendi obbligatorio. Prova a cancellare la cache. VAR-cache Per rendere "forzatamente" un campo obbligatorio devi andare su: Vendi->CLIENTI->INDIRIZZI e in basso trovi: rendi i campi obbligatori per questa sezione..qua se spunti DNI il campo diventa obbligatorio. Attenzione perchè diventa obbligatorio per TUTTI se vendi anche in altri paesi oltre l'italia anche negli indirizzi degli altri paese devi aggiungere il campo DNI altrimenti ti uscirà un errore. Link to comment Share on other sites More sharing options...
alexpacha Posted March 10, 2021 Share Posted March 10, 2021 noi utilizziamo prestashop 1.7.6.8 e non abbiamo questo problema da mesi. Link to comment Share on other sites More sharing options...
alexpacha Posted March 10, 2021 Share Posted March 10, 2021 In italia non vengono aggiunte automaticamente le province, il mio consiglio è di aggiungere anche il campo STATE:name Link to comment Share on other sites More sharing options...
MatG Posted March 10, 2021 Share Posted March 10, 2021 3 minutes ago, alexpacha said: Ciao, cosa vuol dire anche se lo tolgo riappare da solo? Ciao, ho provato diverse volte a "ricominciare da capo" togliendo DNI, spuntando su NO all'obbligatorietà, forse pero' in questa operazione non ho pulito var-cache, ora riprovo per l'ennesima volta a rifare tutto (le altre operazioni le avevo fatte) intanto grazie Link to comment Share on other sites More sharing options...
Fabry Posted March 10, 2021 Share Posted March 10, 2021 Confermo quello che dice Alexpacha..su 1.7.6.8/9 funziona tutto correttamente. Link to comment Share on other sites More sharing options...
MatG Posted March 10, 2021 Share Posted March 10, 2021 Ciao, non so se cambi qualcosa ma come detto all'inizio io ho la versione 1.7.6.2, ho rifatto i passaggi consigliati e pulito cache ma ancora nessun miglioramento. Di nuovo grazie proverò a fare altre verifiche, vedere se faccio ancora qualcosa di sbagliato. Vi allego immagini delle schermate in questione. Link to comment Share on other sites More sharing options...
alexpacha Posted March 10, 2021 Share Posted March 10, 2021 c'è qualcosa che non va, il campo DNI se lo metti sotto Phone deve trovarsi sotto TELEFONO non in alto...L'ordine dei campi deve essere rispettato...potrebbe essere un problema di cache...prova a riordinare i campi, rinominare la cartella var-cache in var->cache-old, cancellare la cache del browser e vedere cosa accade... Link to comment Share on other sites More sharing options...
claus Posted June 17 Share Posted June 17 (edited) Buongiorno a tutti ripreso dopo parecchio tempo lo store ma sono riusciti gli stessi problemi versione prestashop 1.7.7.5 Sempre solito errore e non so se sia per il modulo Prestashop Checkout ufficiale dove ci sono anche le carte di credito Ho abilitato il cf per l'italia obbligatorio in locations-> country con il relativo campo dni Impostato anche l'obbligatorietà nel campo Clienti indirizzi. Facendo cosi però funziona se metto il cf anche per gli altri paese ( lavoriamo con l'europa quindi non posso lasciare solo l'italia ) ad esempio per l'inghilterra continua a chiedermelo nonostante nella nazione è presente il campo ma non è richiesto obbligatorio. Sto impazzendo con questo errore. Spero qualcuno possa dare una mano. Edited June 17 by claus (see edit history) Link to comment Share on other sites More sharing options...
Fabry Posted June 17 Share Posted June 17 Salve Claus "Impostato anche l'obbligatorietà nel campo Clienti indirizzi." Se attiva questa opzione risulta in una condizione globale dove sará obbligatorio per tutti i paesi Ammesso che il CF deve essere obbligatorio solo per l'IT deve: disattivare a livello globale negli indirizzi l'obbligatorietá del cf eliminare il campo dni dagli altri paesi in localizzazione aggiungere il dni all'Italia in localizzazione e renderlo obblogatorio sempre in quell'area ciao Link to comment Share on other sites More sharing options...
Fabry Posted June 17 Share Posted June 17 Just now, Fabry said: Salve Claus "Impostato anche l'obbligatorietà nel campo Clienti indirizzi." Se attiva questa opzione risulta in una condizione globale dove sará obbligatorio per tutti i paesi Ammesso che il CF deve essere obbligatorio solo per l'IT deve: disattivare a livello globale negli indirizzi l'obbligatorietá del cf eliminare il campo dni dagli altri paesi in localizzazione ( intendo Adress format) aggiungere il dni all'Italia in localizzazione e renderlo obblogatorio sempre in quell'area ciao 1 Link to comment Share on other sites More sharing options...
claus Posted June 17 Share Posted June 17 Buongiorno Fabry disattivato a livello globale e impostato solo a livello di paese , unicamente per l'italia con il suo campo dni al fondo. Per quanto riguarda lo uk rimosso il campo dni e ovviamente nessuna obbligatorietà e nel form infatti il campo non si vede piu ..ù ma se procedo con il check out... potrebbe essere che cè ancora qualche paese che ha il dni tra i campi anche se non cè l'obbligatorietà? Link to comment Share on other sites More sharing options...
Fabry Posted June 17 Share Posted June 17 Ciao Claus. ok intanto dia una bella ripulita alle maledette cache:-) questo problema succede perché ci sono clienti che hanno questo campo vuoto basta lanciare un query sul db e sostituire per es - dove é NULL...come? UPDATE ps_addresses SET dni='-' WHERE dni IS NULL Ma prima faccia backup del database!! Link to comment Share on other sites More sharing options...
claus Posted June 17 Share Posted June 17 4 minutes ago, Fabry said: Ciao Claus. ok intanto dia una bella ripulita alle maledette cache:-) questo problema succede perché ci sono clienti che hanno questo campo vuoto basta lanciare un query sul db e sostituire per es - dove é NULL...come? UPDATE ps_addresses SET dni='-' WHERE dni IS NULL Ma prima faccia backup del database!! Pulizia cache come un mantra io però non ho la tabella ps_addresses bensi ps_address e se lancio il comando con il nome che ho io non vengono modificate le celle interessate. Se uso ' ' invece che null va bene lo stesso? Link to comment Share on other sites More sharing options...
Fabry Posted June 17 Share Posted June 17 si si é la ps_address non só cosa sta scappando Link to comment Share on other sites More sharing options...
claus Posted June 17 Share Posted June 17 avevo trovato una quadra mettendo dni obbligatorio negli indirizzi , campo dni presente ma opzionale nei paesi ad eccezione dell Italia ma non riesco piu a farlo andare. Magari era un incrocio di cache. mi sfugge perche anche con il codice postato sopra messo in override , in altri paese al di fuori dell italia non ne tenga conto visto che è un campo opzionale. Confermo che con Dni negli indirizzi , sia obbligatorio che senza , l'errore non esce nell italia. Provo a disinstallare prestashop checkout che era comodo per via delle carte di credito Link to comment Share on other sites More sharing options...
claus Posted June 18 Share Posted June 18 Aggiorno sperando di trovare una soluzione. Dal lato indirizzi dentro l' account non ci sono problemi a inserirli nuovi indirizzi o modificarli, in tutti i paesi e con il codice fiscale obbligatorio per l'italia. Però in fase di check out il problema persiste, quindi potrebbe esserci un controller sul checkout che bypassa la regola sopra.? Link to comment Share on other sites More sharing options...
claus Posted June 19 Share Posted June 19 sono riuscito a trovare un fix momentaneo togliendo il campo che ho messo in neretto dentro il file address.php nella cartella override/classes è normale poi che abbia tutto sto override su questo file? Quote <?php class Address extends AddressCore { public $sdi; public $pec; public static $definition = array( 'table' => 'address', 'primary' => 'id_address', 'fields' => array( 'id_customer' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false), 'id_manufacturer' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false), 'id_supplier' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false), 'id_warehouse' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false), 'id_country' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'id_state' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId'), 'alias' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 32), 'company' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'size' => 255), 'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'vat_number' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'), 'sdi' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'size' => 16), 'pec' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'size' => 128), 'address1' => array('type' => self::TYPE_STRING, 'validate' => 'isAddress', 'required' => true, 'size' => 128), 'address2' => array('type' => self::TYPE_STRING, 'validate' => 'isAddress', 'size' => 128), 'postcode' => array('type' => self::TYPE_STRING, 'validate' => 'isPostCode', 'size' => 12), 'city' => array('type' => self::TYPE_STRING, 'validate' => 'isCityName', 'required' => true, 'size' => 64), 'other' => array('type' => self::TYPE_STRING, 'validate' => 'isMessage', 'size' => 300), 'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32), 'phone_mobile' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32), 'dni' => array('type' => self::TYPE_STRING, 'validate' => 'isDniLite', 'size' => 16), 'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false), ), ); protected $webserviceParameters = array( 'objectsNodeName' => 'addresses', 'fields' => array( 'id_customer' => array('xlink_resource'=> 'customers'), 'id_manufacturer' => array('xlink_resource'=> 'manufacturers'), 'id_supplier' => array('xlink_resource'=> 'suppliers'), 'id_warehouse' => array('xlink_resource'=> 'warehouse'), 'id_country' => array('xlink_resource'=> 'countries'), 'id_state' => array('xlink_resource'=> 'states'), ), ); } 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