Hola @antonioonline y @jorge8975,
El problema que describes con la visibilidad de columnas en mycustomergridpro es bastante común cuando se trata de la conversión de tipos de datos. Configuration::get() siempre devuelve una cadena (string) o false si la clave no existe. Al hacer (int) Configuration::get(...), un '0' se convierte en 0, un '1' en 1, pero un false (clave no existente) también se convierte en 0, lo que puede llevar a que columnas que deberían estar activas aparezcan como ocultas si la configuración no está establecida.
Para asegurar una verificación robusta, es mejor ser explícito al comparar el valor. Una solución sería la siguiente, asegurando que el valor sea estrictamente '1' para que la columna esté habilitada:
// ... dentro de hookActionCustomerGridDefinitionModifier
foreach ($this->columns_map as $key => $column) {
$configKey = 'MYCUSTOMERGRIDPRO_' . strtoupper($key) . '_ENABLED';
if (Configuration::get($configKey) !== '1') {
$columns->remove($key);
}
}
$definition->setColumns($columns);
Esta modificación asegura que solo las columnas configuradas explícitamente como '1' (true) se muestren. Recuerda que modificar directamente los archivos del módulo puede ser problemático con las actualizaciones. Para una gestión más limpia y robusta de las columnas y el diseño de la cuadrícula de clientes, es más seguro utilizar un módulo preparado para customer grid – columnas que maneje estas configuraciones de forma nativa.