Eliminar tratamiento (género) en el formulario de registro de Prestashop

Tratamiento en el formulario de registro

Como tenemos explicado en la gestión de clientes podemos crear o quitar nuevos tratamientos en la pestaña Parámetros de la tienda -> Ajustes sobre clientes -> Tratamientos

Listado tratamientos clientes

El problema es que incluso eliminando los tratamientos se queda la “etiqueta” en el formulario de registro.

Etiqueta vacía

A día 8 de abril del 2017, no tenemos opción de quitarlo desde el panel de administración (en futuro posiblemente se pueda) y tenemos que aplicar por ejemplo la siguiente solución:

Ir al fichero:

/classes/form/CustomerFormatter.php

Y comentar el código referente al campo de genero/tratamiento:


$genderField = (new FormField)
->setName('id_gender')
->setType('radio-buttons')
->setLabel(
$this->translator->trans(
'Social title', [], 'Shop.Forms.Labels'
)
)
;
foreach (Gender::getGenders($this->language->id) as $gender) {
$genderField->addAvailableValue($gender->id, $gender->name);
}
$format[$genderField->getName()] = $genderField;

Comentar código

Además, en el fichero: /classes/controller/FrontController.php

Comentamos el código:

$cust['gender'] = $this->objectPresenter->present(new Gender($cust['id_gender']));
unset($cust['id_gender']);
Comentar código

Aquí, hemos editado las clases directamente, pero lo recomendable es crear un override.

Documento testeado en Prestashop 1.7.1.0