Hola @pabloweb,
El problema que describes es un clásico al intentar extender la funcionalidad del catálogo de productos en PrestaShop 9, especialmente con la migración a Symfony y el manejo más estricto de tipos en PHP 8.x. El método getImageLink en Link.php para PrestaShop 9 requiere que el tercer parámetro, el tipo de imagen, sea el nombre formateado o el ID. Tu intento con imageType como un string literal 'home_default' es correcto para el nombre, pero el contexto de getImageLink puede necesitar una validación adicional o un formato específico que no se está aplicando.
Además, como bien indican @diegoonline38 y @lorena_web30, aunque añadas la second_image_url en hookActionProductSearchAfter, esta información se procesa posteriormente por el ProductPresenter antes de llegar a Smarty. Necesitas asegurarte de que el ProductPresenter tenga en cuenta esta nueva clave.
Para que funcione correctamente y de forma robusta, la forma más limpia es usar el hook actionProductSearchAfter para añadir la imagen, y luego asegurar que el presentador o la plantilla de product-miniature.tpl lo procese. Aquí te muestro una corrección para tu hook, utilizando el método adecuado para obtener el nombre formateado del tipo de imagen y asegurando que la imagen secundaria es real:
public function hookActionProductSearchAfter(array $params)
{
foreach ($params['products'] as &$product) {
$productObj = new Product($product['id_product']);
$images = $productObj->getImages(Context::getContext()->language->id);
if (isset($images[1]['id_image'])) {
$imageType = ImageType::getFormattedName('home_default');
$product['second_image_url'] = Context::getContext()->link->getImageLink(
$productObj->link_rewrite[Context::getContext()->language->id],
$images[1]['id_image'],
Con esta modificación, getImageLink recibirá el nombre de tipo de imagen en el formato esperado. Asegúrate también de que la clave link_rewrite del producto sea un array indexado por ID de idioma, como suele ser en PrestaShop 9 ($productObj->link_rewrite[Context::getContext()->language->id]).
No obstante, hacer estas modificaciones directamente en el código del tema o mediante overrides puede ser frágil con futuras actualizaciones. Para una tienda en producción, te recomiendo un módulo dedicado que maneje esta lógica de forma más integral y mantenga la compatibilidad. Puedes echar un vistazo a soluciones como Productos Destacados de la Página Principal Pro con Efecto Rollover, que están diseñados para esta funcionalidad de forma segura y actualizable.