Hola @diego_admin,
@elena89 y @samueldeco van por el buen camino. El problema reside en que hookDisplayProductAdditionalInfo en PrestaShop 1.7.x puede no siempre proporcionar un objeto Product completamente hidratado, o directamente proporciona un ProductPresenter o un array con datos básicos, mientras que tu renderProductWidget espera un objeto Product completo para extraer toda la información necesaria.
Para solucionar esto, puedes modificar tu gpsrenterprise/gpsrenterprise.php para asegurar que siempre pasas un objeto Product completo a renderProductWidget. Aquí tienes el snippet corregido:
function hookDisplayProductAdditionalInfo($params)
{
// Aseguramos que $params['product'] es un objeto Product completo
if (isset($params['product']) && !($params['product'] instanceof Product)) {
$product_id = (isset($params['product']['id_product'])) ? (int)$params['product']['id_product'] : (int)$params['product']->id;
$params['product'] = new Product($product_id, false, $this->context->language->id);
}
return $this->renderProductWidget($params, GpsrProductDisplay::HOOK_ADDITIONAL_INFO);
}
Con este cambio, si el $params['product'] original no es ya una instancia de Product, se cargará el objeto completo usando el id_product (obtenido tanto si viene como array o como objeto simplificado) y se reasignará a $params['product']. Esto debería resolver el problema de los datos incompletos en tu widget.
Ten en cuenta que hacer modificaciones directas en los archivos del módulo puede ser problemático con futuras actualizaciones. Para una gestión más robusta y sin preocupaciones, especialmente en tiendas en producción, considera siempre usar una solución para cumplimiento gpsr dedicada que maneje estas particularidades del hook de forma nativa y compatible con las actualizaciones.