Alcune volte i tempi grafici possono non mostrare correttamente i campi del modulo, ossia i campi possono essere disallineati.
Per risolvere questo problema di layout è necessario:
creare la cartella <tuo tema>/modules/bwesxtendsignin
creare la cartella <tuo tema>/modules/bwesxtendsignin/views
copiare la cartella modules/bwextendsignin/view/js in <tuo tema>/modules/bwesxtendsignin/views
cancellare tutti i file tranne index.php e frontFrom176.js
modificare il file frontFrom176.js per adattare i campi
Questo codice qui sotto modifica in maniera dinamica l'ordine dei campi
...
getParentRow(fieldCategoria).before(getLine());
getParentRow(fieldCategoria).after(getParentRow(fields.company));
getParentRow(fields.company).after(getParentRow(fields.pi));
getParentRow(fields.pi).after(getParentRow(fieldStd.cf));
getParentRow(fields.pec).after(getLine());
...
In questo caso è necesario aggiungere una funzione
...
function getGranParentRow(el) {
return el.parent().parent().parent()
}
...
e modificare la visualizzazione in questo modo
...
//getParentRow(fieldCategoria).before(getLine());
//getParentRow(fieldCategoria).after(getParentRow(fields.company));
getGranParentRow(fieldCategoria).before(getLine());
getGranParentRow(fieldCategoria).after(getParentRow(fields.company));
getParentRow(fields.company).after(getParentRow(fields.pi));
getParentRow(fields.pi).after(getParentRow(fieldStd.cf));
getParentRow(fields.pec).after(getLine());
...
Il codice finale è così:
...
var l1 = getLine();
getGranParentRow(fieldCategoria).before(getLine());
getGranParentRow(fieldCategoria).after(getParentRow(fields.company));
getParentRow(fields.company).after(getParentRow(fields.pi));
getParentRow(fields.pi).after(getParentRow(fieldStd.cf));
getParentRow(fields.pec).after(getLine());
function getGranParentRow(el) {
return el.parent().parent().parent()
}
function getParentRow(el) {
return el.parent().parent();
}
...
Il codice da sostituire è il seguente finale è così:
... riga 56
var l1 = getLine();
// getParentRow(fieldCategoria).before(getLine());
getParentRow(fieldCategoria).after(getGranParentRow(fields.company));
getGranParentRow(fields.company).after(getGranParentRow(fields.pi));
getGranParentRow(fields.pi).after(getGranParentRow(fieldStd.cf));
function getGranParentRow(el) {
return el.parent().parent().parent().parent()
}
function getParentRow(el) {
return el.parent().parent().parent();
}
... ~ riga 76
function hideAll() {
Object.keys(fields).forEach(function (fl) {
getParentRow(fields[fl]).parent().slideUp();
fields[fl].attr('required', false);
})
}
... ~ riga 90
function show(fl) {
getParentRow(fl).parent().slideDown();
fl.attr('required', false);
}
...
L'errore qui a fianco non è del modulo ma di una errata configurazione prestashop
E'necessario disabilitare le opzioni di obbligatorietà dei campi nella configurazione degli indirizzi