Hola @teresa_moda, @lorenapro48 ha dado en el clavo con el análisis. El problema radica precisamente en el orden de ejecución y la llamada return en tu método initPageHeaderToolbar().
En AdminController, parent::initPageHeaderToolbar() es responsable de inicializar las propiedades internas como $this->toolbar_btn (para los botones) y $this->page_header_toolbar_title (para el título de la página) con los valores estándar. Si llamas a $this->ensureTitleArrays() antes, estás intentando modificar algo que el padre aún no ha configurado o que, justo después, el padre sobrescribirá con sus propios valores por defecto.
La solución más limpia y estándar en PrestaShop 1.7.x es llamar primero al método padre para que establezca su configuración base, y luego aplicar tus modificaciones específicas. Además, el return temprano impide que cualquier lógica posterior en tu método se ejecute realmente, lo cual es contraproducente si ensureTitleArrays() modifica propiedades de la instancia.
Aquí te dejo el fragmento corregido para gpsrenterprise/classes/GpsrAdminController.php:
function initPageHeaderToolbar()
{
parent::initPageHeaderToolbar(); // Primero, inicializamos la barra de herramientas estándar del padre
$this->ensureTitleArrays(); // Luego, aplicamos nuestros títulos/botones personalizados
}
Con este cambio, parent::initPageHeaderToolbar() configura la base, y después $this->ensureTitleArrays() puede añadir o ajustar los elementos de la barra de herramientas sin ser sobrescrito ni ignorado. Pruébalo y me dices qué tal.