Hola @raul_digital y @lorena_89,
Tenéis razón, el hookActionCustomerGridDefinitionModifier es crucial para manipular las rejillas y el error de configuración es un clásico en módulos de terceros, especialmente en PrestaShop 1.7 donde la gestión de Configuration::get() a veces devuelve cadenas que no se evalúan como esperamos con un simple (int).
El problema es que Configuration::get() a menudo devuelve las opciones como cadenas ('0' o '1'). Si el código del módulo espera un booleano o un entero directo, puede haber una mala interpretación. Para asegurar que la lógica de ocultar/mostrar funcione correctamente, debemos asegurarnos de que la comprobación sea robusta para estos valores.
Aquí tienes un parche para la sección de tu módulo que probablemente esté causando el problema, asumiendo que el bucle de procesamiento de columnas sigue a la obtención de las columnas:
$columns = $definition->getColumns();
foreach ($this->columns_map as $key => $column_name) {
// Aseguramos una validación robusta del valor de configuración
if (Configuration::get('MYCUSTOMERGRIDPRO_SHOW_' . strtoupper($key)) === '0') {
$columns->remove($key);
}
}
Con este cambio, en lugar de confiar en una conversión implícita a (int) o (bool), se comprueba explícitamente si el valor de configuración es la cadena '0'. Esto asegura que la columna se oculte solo cuando la configuración esté explícitamente marcada para ocultar, evitando interpretaciones erróneas de null, false o cadenas vacías.